当前位置:首页 » 《随便一记》 » 正文

【小程序】微信小程序自定义导航栏及其封装

20 人参与  2022年12月11日 18:25  分类 : 《随便一记》  评论

点击全文阅读


??

✨: 微信小程序自定义导航栏

?:东非不开森的主页

?: 因为很多东西来不及去做去看可是时间很快总是赶不上,所以要去成长呀??

?: 如有错误或不足之处,希望可以指正,非常感谢?

应用场景:我们在小程序中想要自定义导航栏(当然组件库更方便哈哈)

小程序自定义导航栏

一、导航栏适配1.1.在json文件里更改页面配置项1.2.导航栏适配每种机型 二、封装导航栏组件2.1.wxml2.2.wxss2.3.js2.4.在页面中使用导航栏组件2.5.效果图

一、导航栏适配

1.1.在json文件里更改页面配置项

⭐⭐⭐

官方文档介绍的有:
在这里插入图片描述

"navigationStyle": "custom"
这样原本默认的导航栏就会消失了

PS: 如果是单页面需要就写在对应页面的json内,如果全局需要就写在app.josn内

在这里插入图片描述

1.2.导航栏适配每种机型

⭐⭐⭐

app.js 里面获取statusbarHeight(这个就是每种机型的导航高度,我们需要获取并且动态的展示)

wx.getSystemInfo获取。
在这里插入图片描述

我们要在对应该导航组件的js文件里面进行获取

data中定义一个数据在动态从app.js中获取将获取到的statusBarHeight,存储到data

在这里插入图片描述

wxml里面动态的使用该数据

在这里插入图片描述
这样机型适配就完成啦o( ̄︶ ̄)o

二、封装导航栏组件

⭐⭐⭐⭐⭐

2.1.wxml

这里我们使用了插槽
(可以看看插槽的内容)

<!--components/nav-bar/nav-bar.wxml--><view class="nav-bar">  <view class="status" style="height: {{statusHeight}}px;"></view>    <view class="nav">      <view class="left">        <view class="slot">          <slot name="left"></slot>        </view>        <view class="default">          <image class="icon" src="/assets/images/icons/arrow-left.png"></image>        </view>      </view>      <view class="center">        <view class="slot">          <slot name="center"></slot>        </view>        <view class="default">          {{title}}        </view>      </view>      <view class="right"></view>    </view>  </view>

2.2.wxss

⭐⭐⭐

这里主要控制导航栏显示的位置还有默认插槽用通过css3的伪类:empty,class="default"的view盒子默认的样式是display: none隐藏的,如果class="slot"的view盒子为空时,那么就会将class="default"的view盒子的样式设为display: flex(因为小程序是默认不显示默认插槽的
/* components/nav-bar/nav-bar.wxss *//* 自定义导航 */.nav {  display: flex;  height: 44px;  color: #fff;}.left, .right, .center {  display: flex;  justify-content: center;  align-items: center;}.nav .left, .nav .right {  width: 120rpx;}.nav .center {  flex: 1;}/* 控制内容显示 */.left .icon {  width: 40rpx;  height: 40rpx;}.default {  display: none;}.slot:empty + .default {  display: flex;}

2.3.js

在properties下设置标题在options开启多个插槽
// components/nav-bar/nav-bar.jsconst app = getApp()Component({  options: {    multipleSlots: true  },  properties:{    title: {      type: String,      value: "导航标签"    }  },  data:{    statusHeight:20  },  lifetimes: {    attached(){      this.setData({statusHeight: app.globalData.statusHeight})    }  }})

2.4.在页面中使用导航栏组件

⭐⭐⭐

因为插槽的使用,这里就很方便了,如果添加内容,那么就会显示默认插槽

在这里插入图片描述
在这里插入图片描述

2.5.效果图


这就是大概的效果了,当然文字箭头这里都是可以自定义的hh

在这里插入图片描述
<( ̄︶ ̄)↗[GO!]<( ̄︶ ̄)↗[GO!]


点击全文阅读


本文链接:http://www.zhangshiyu.com/post/49610.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 重回填志愿,我冷眼看青梅陪校草上大专小众冷门_苏雨青梅明白精心编著_小说后续在线阅读_无删减免费完结_
  • 终章小说听风说我不再爱你(陆禹城宋青末):结局+番外评价五颗星
  • 许棠的我宣布提前退休后,神探小师妹疯了精修版许棠苏淼全书在线
  • 科研老公用我的受精卵复活初恋,我直接炸了实验室快手热门_季寻舟洛书老公一口气看完_小说后续在线阅读_无删减免费完结_
  • 裴叙白盛安夏:结局+番外新上热文新章速递渣男强制爱,99次在逃带球跑小娇妻:结局+番外评价五颗星
  • (裴烬野周梨)岁月杳杳人不归裴烬野周梨无删减小说在线无广告高口碑小说
  • 贺君衍舒忆小说(溺吻娇骨)小说***下载_章节前文+后续(贺君衍舒忆)
  • 患抑郁症女儿被寄生虫保姆女儿疯狂吸血后,妈妈杀疯了完结爽文_谢小芳陈英小姐全文阅读_小说后续在线阅读_无删减免费完结_
  • 年下男友装穷,却为校花点天灯看点十足_云澈芊芊弟弟最新章节_小说后续在线阅读_无删减免费完结_
  • 热门章节_笔趣阁(裴璟年姜心眠)裴璟年姜心眠小说(从此山水不逢)章节在线阅读
  • 男友劈腿上司后,我闪婚富豪发小完结爽文_顾清陆序念念完整文本_小说后续在线阅读_无删减免费完结_
  • 我把京圈***oss当小白脸养(苏迎夕贺严燊)(我把京圈***oss当小白脸养)全书+后续+结局在线阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1