微信小程序自定义头部导航栏(组件化)

  

本文实例为大家分享了微信小程序自定义头部导航栏的具体代码,供大家参考,具体内容如下

  

效果图   

微信小程序自定义头部导航栏(组件化)

  

微信小程序自定义头部导航栏(组件化)

  

支持导航栏自定义背景颜色,背景图片支持返回文字自定义支持导航标题自定义

  

首先在应用程序。json窗配置项添加

        "窗口":{   “navigationStyle”:“自定义”   }      

自定义头部导航栏代码

  

wxml部分         & lt;视图类=癱u-custom”比;   & lt;视图类=" cu-bar {{bgImage !=" & # 63;“none-bg设置bg-img”:“}}{{背景}}”在   & lt;视图类=靶卸眀indtap=癇ackPage”天气:如果=" {{!isShare,,isBack}}”在   & lt;文本类=" icon-back "祝辞& lt;/text>   & lt;槽name=" backText祝辞& lt;/slot>   & lt;/view>   & lt;视图类=靶卸痓order-custom”天气:如果=" {{isShare,,isBack}}”在   & lt;文本类=癷con-back bindtap”=癇ackPage”祝辞& lt;/text>   & lt;文本类=癷con-homefill bindtap”=皌oHome”祝辞& lt;/text>   & lt;/view>   & lt;视图类=澳谌荨痹?   & lt;槽的名字=澳谌荨弊4? lt;/slot>   & lt;/view>   & lt;/view>   & lt;/view>      

wxs部分         .cu-custom{显示:块;位置:相对;}   .cu-custom .cu-bar{显示:flex;对齐项目:中心;justify-content:之间的空间;位置:固定;宽度:100%;上图:0;最小高度:100 rpx;padding-right: 220 rpx;不必:0 rpx 0 rpx 0 rpx;z - index: 9999;background - color: # fff;}   .cu-custom .cu-bar .border-custom{:相对;背景:rgba (255255255, 0.5);border - radius: 1000 rpx;高度:30 px;}   .cu-custom .cu-bar .action{显示:flex;对齐项目:中心;高度:100%;justify-content:中心;max-width: 100%;}   .cu-custom .cu-bar .action:第一个孩子{margin-left: 30 rpx;字体大小:30 rpx;}   {.cu-custom .cu-bar .border-custom文本显示:块;flex: 1;保证金:汽车!重要;text-align:中心;字体大小:34 rpx;}   .cu-bar .content{宽度:钙(100% - 440 rpx);位置:绝对;text-align:中心;左:0;右:0;底部:0;上图:0;保证金:汽车;高度:60 rpx;字体大小:32 rpx;行高:60 rpx;光标:没有;pointer-events:没有;文本溢出:省略;空白:nowrap;}溢出:隐藏;}      

js部分         const应用=getApp ();   组件({   选择:{   addGlobalClass:没错,   multipleSlots:真   },   属性:{   isBack: {   类型:布尔值字符串,   默认值:假   },   背景:{//类名   类型:字符串,   默认值:“   },   bgImage:{//仅支持网络地址   类型:字符串,   默认值:“   },   },   数据:{   状态栏:App.GlobalData.StatusBar,   CustomBar: App.GlobalData.CustomBar,   自定义:App.GlobalData.Custom,   isShare: App.GlobalData.share   },   方法:{   BackPage () {   wx.navigateBack ({   三角洲:1   });   },   toHome () {   wx.reLaunch ({   url:“/页/索引/指数”,   })   }   }   })      

应用程序。js判断是否分享

        应用程序({   GlobalData: {   分享:假的,   状态栏:0,   自定义:0,   CustomBar: 0   },>/*自定义头部导航栏图标*/.cu-custom[类*=蓖急辍癩{字体类型:“iconfont”!重要;字体大小:继承;字体样式:正常;}      @font-face{字体类型:“iconfont”;   src: url (iconfont.eot& # 63; t=1555316650045);/* IE9 */src: url (' iconfont.eot& # 63; t=1555316650045 # iefix ')格式(“embedded-opentype”),/* IE6-IE8 */url(数据:应用程序/x-font-woff2; charset=utf - 8; base64, d09GMgABAAAAAANcAAsAAAAAB0wAAAMPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCLIIKATYCJAMMCwgABCAFhG0HPxtZBsiemjyKBSigJhHwFACGePCEutd3On3HX0oBgBzCrQwwpxvBCDR2tgVzWmSLL1RJEo0V68AF6Bsg4wdCz0 + 7 oqxuhxbscrhlpw1 + Ay6n/1 + JzwPKbaxNY9OcFGCCAY21KZAHLpAEvWHsApdwHAI4amtJBg5 + es1UsFjjBJDsDFXIVHImbEu6ECIENUtthuwgQWg2mhJge h9 + UP7QjAkFGvq2LvImf37vq6IVzDTJxDP5wDYKlCgJbAgs2tdU + XjaEuK0xQFPR8CLIKZKxDHhCJdEdh/eGAQkAArNRWApihm4DtXlKqHkrtOVQCCOGmmDDksXcWxtJFWjZOLo + 97 + 5 uxph65opd782kq9uupmzkdev + 7 zfvxfjzj1scpi7qnz + ucfhU3wPOmRUvOjpd + cy5TU + qGnfuXXVF21Tfd7hK2s/5 zwcrlfo6ulj0lmky3g7taf3 + Nh96cqTdkZKAvt/mtErvN3SVSr9JXhz7eKT/52 f5r37kwxxngld/KlVqW7XKmv39DxVVnratPbW3o0HNScOZw0H1BrtuNR Q7DBquG5Ukw5bDkb76 + 2 pnh8q15yu + yL1wrlpU887 + 4 vph7/nSzFXBoi/7 wdnjao6xrz4 + 7/BNMr8n9Pu + T/0 foapzb0uyvrhqgww8b + umB4AdjCXWhG1QIvG9vWjTBg5yQAOB8TQV9638ZpKeioIIZVSGFKoBSWkIWlZLZHA0xEBIX3gaGHIak8FhfKITQLNrQUQyroOQ2meQynrNWlZX5Ggsn8IKJvCMbkKW3oal + EGFEIIINP8lDIkdhTHGtSi9GeooSV4WWnIfofn6wFq17ptMXELB94cM4oidVEcKBR5bNNgcBosiynfYwNSMEkPguuyTZuo7k2TBWxnagzgAUEAZGS + FMkgYQ7Fbx + olT7/DFQhi8BrqasJvgOPT + + ctNNa2x7krcrpVXcvrxSJqBaKBRQk4mE2Mhg4wLKjjOTXDzKAJDCRPiJ8tdQGtYr6qibra + wPKGRNWHeqGFGx + KJ0DlPY7MEpR/McLdTnAAA=')格式(“woff2”),   url (iconfont.woff& # 63; t=1555316650045)格式(woff的),   url (iconfont.ttf& # 63; t=1555316650045)格式(“truetype”),/* chrome, firefox、opera, Safari, Android, iOS 4.2 + */url (' iconfont.svg& # 63; t=1555316650045 # iconfont ')格式(svg);/* iOS 4.1 - */}      .iconfont{字体类型:“iconfont”!重要;字体大小:16 px;字体样式:正常;-webkit-font-smoothing:平滑;-moz-osx-font-smoothing:灰度;}   .icon-homefill:{之前内容:“\ e6fc”;}   .icon-back:{之前内容:“\ e67a”;}   {后.cu-custom .cu-bar .border-custom:内容:“”;宽度:200%;高度:200%;位置:绝对的;上图:0;左:0;border - radius:继承;null   null   null   null   null

微信小程序自定义头部导航栏(组件化)