uni-app开发时自定义导航栏

news/2024/8/26 16:50:36 标签: uni-app

1. 修改pages.json文件

增加navigationStyle

{
			"path": "pages/index/index",
			"style": {
				"navigationStyle": "custom",
				"navigationBarTitleText": "首页"
			}
		},

2. 下载uni-ui扩展组件库

npm install @dcloudio/uni-ui --save

3. 编写代码

components/CustomNavbar.vue文件

<script>
const { safeAreaInsets } = uni.getSystemInfoSync()
import uniIcons from '@dcloudio/uni-ui/lib/uni-icons/uni-icons.vue';

export default {
  components: {
    uniIcons
  },
  data() {
    return {
        safeAreaInsets,
        searchValue: ''
    }
  },
  methods: {
    handleSearch() {
        console.log(this.searchValue)
    },
    handleScan() {
        uni.scanCode({
            success: (res) => {
                console.log("res", res)
            }
        })
    }
  }
}
</script>

<template>
    <view class="navbar" :style="{paddingTop: safeAreaInsets?.top + 10 + 'px'}">
        <view class="logo">
            <image class="logo-image" src="/static/images/logo.png" />
            <text class="logo-text">新鲜 · 亲民 · 快捷</text>
        </view>
        <view class="search"> 
            <uni-icons color="#fff" type="search" size="16" @click="handleSearch"></uni-icons>
            <input class="search-value" v-model="searchValue" placeholder="搜索商品">
            <uni-icons color="#fff" type="scan" size="16" @click="handleScan"></uni-icons>
        </view>
    </view>

</template>

<style lang="scss">
.navbar {
    background-image: url(@/static/images/navigator_bg.png);
    background-size: cover;
    padding-bottom: 20rpx;

    .logo {
        display: flex;
        align-items: center;
        height: 64rpx;
        padding-left: 30rpx;

        .logo-image {
            width: 166rpx;
            height: 39rpx;
        }
        .logo-text {
            font-size: 26rpx;
            color: #fff;
            padding-left: 20rpx;
            margin-left: 20rpx;
            border-left: 1px solid #fff;
        }
    }

    .search {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 26rpx 0 26rpx;
        height: 64rpx;
        margin: 16rpx 20rpx;
        color: #fff;
        font-size: 28rpx;
        border-radius: 32rpx;
        background-color: rgba(255, 255, 255, 0.5);

        .uni-icons {
            width: 32rpx;
        }
        .search-value {
            flex: 1;
            padding: 0 20rpx;
        }
    }
}
</style>

index.vue文件

<script>
import CustomNavbar from '@/components/CustomNavbar.vue'

export default {
  components: {
    CustomNavbar
  },
  data() {
    return {

    }
  },
  methods: {

  }
}

</script>

<template>
  <view class="viewport">
      <CustomNavbar />
  </view>
</template>

<style lang="scss">
page {
  background: #f7f7f7;
}
</style>

http://www.niftyadmin.cn/n/5558307.html

相关文章

Mongodb数组字段索引之多键索引

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第92篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

R-CNN、Fast R-CNN和Faster R-CNN:目标检测的进化之路

在计算机视觉的世界里,目标检测是一个重要的任务,它的目标是找到图像中的特定物体,并标注出它们的位置。这项技术广泛应用于自动驾驶、安防监控等领域。为了让计算机能够准确高效地完成这一任务,科学家们提出了许多优秀的算法,其中最具代表性的就是R-CNN、Fast R-CNN和Fas…

ES6及ESNext规范

1、let 和 const 而let引入了块级作用域的概念, 创建setTimeout函数时&#xff0c;变量i在作用域内。对于循环的每个迭代&#xff0c;引用的i是i的不同实例。 暂时性死区&#xff1a;不允许变量提升 const就很简单了, 在let的基础上, 不可被修改 js 代码解读 for(var i0;i<…

Jenkins整合Owasp DependencyCheck实现SCA

简介 Dependency-Check 是 OWASP&#xff08;Open Web Application Security Project&#xff09;的一个实用开源程序&#xff0c;用于识别项目依赖项并检查是否存在任何已知的&#xff0c;公开披露的漏洞。 目前&#xff0c;已支持Java、.NET、Ruby、Node.js、Python等语言编写…

Netty Bootstrap/ServerBootstrap

Netty中的Bootstrap和ServerBootstrap是Netty框架中的两个核心引导类&#xff0c;它们分别用于客户端和服务端的启动配置。以下是关于这两个类的详细解析&#xff1a; 一、基本概念 Bootstrap&#xff1a;客户端程序的启动引导类。主要用于配置Netty客户端的各种参数&#xf…

Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

title: Nuxt.js头部魔法&#xff1a;轻松自定义页面元信息&#xff0c;提升用户体验 date: 2024/7/16 updated: 2024/7/16 author: cmdragon excerpt: 摘要&#xff1a;“Nuxt.js头部魔法&#xff1a;轻松自定义页面元信息&#xff0c;提升用户体验”介绍如何使用useHead函数…

小阿轩yx-zookeeper+kafka群集

小阿轩yx-zookeeperkafka群集 消息队列(Message Queue) 是分布式系统中重要的组件 通用的使用场景可以简单地描述为 当不需要立即获得结果&#xff0c;但是并发量又需要进行控制的时候&#xff0c;差不多就是需要使用消息队列的时候。 消息队列 什么是消息队列 消息(Mes…

【论文阅读】MCTformer+:弱监督语义分割的多类令牌转换器

【论文阅读】MCTformer:弱监督语义分割的多类令牌转换器 文章目录 【论文阅读】MCTformer:弱监督语义分割的多类令牌转换器一、介绍1.1 WSSS背景1.2 WSSS策略 二、联系工作2.1 弱监督语义分割2.2 transformers的可视化应用 三、MULTI-CLASS TOKEN TRANSFORMER3.1 Multi-class t…