欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序自定義導(dǎo)航欄及其封裝的全過程

 更新時間:2022年12月02日 10:09:51   作者:東非不開森  
在小程序項目開發(fā)過程中常遇到自定義導(dǎo)航欄的需求,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序自定義導(dǎo)航欄及其封裝的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

應(yīng)用場景:我們在小程序中想要自定義導(dǎo)航欄(當(dāng)然組件庫更方便哈哈)

一、導(dǎo)航欄適配

1.1.在json文件里更改頁面配置項

???

官方文檔介紹的有:

"navigationStyle": "custom"
這樣原本默認(rèn)的導(dǎo)航欄就會消失了 

PS: 如果是單頁面需要就寫在對應(yīng)頁面的json內(nèi),如果全局需要就寫在app.josn內(nèi)

1.2.導(dǎo)航欄適配每種機(jī)型

???

app.js 里面獲取statusbarHeight(這個就是每種機(jī)型的導(dǎo)航高度,我們需要獲取并且動態(tài)的展示)

wx.getSystemInfo獲取。

 我們要在對應(yīng)該導(dǎo)航組件的js文件里面進(jìn)行獲取

  • data中定義一個數(shù)據(jù)
  • 在動態(tài)從app.js中獲取
  • 將獲取到的statusBarHeight,存儲到data

wxml里面動態(tài)的使用該數(shù)據(jù)

這樣機(jī)型適配就完成啦o( ̄︶ ̄)o

二、封裝導(dǎo)航欄組件

?????

2.1.wxml

這里我們使用了插槽(可以看看插槽的內(nèi)容)

<!--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

???

  • 這里主要控制導(dǎo)航欄顯示的位置
  • 還有默認(rèn)插槽用通過css3的偽類:empty,class="default"的view盒子默認(rèn)的樣式是display: none隱藏的,如果class="slot"的view盒子為空時,那么就會將class="default"的view盒子的樣式設(shè)為display: flex(因為小程序是默認(rèn)不顯示默認(rèn)插槽的)
/* components/nav-bar/nav-bar.wxss */
/* 自定義導(dǎo)航 */
.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;
}

/* 控制內(nèi)容顯示 */
.left .icon {
  width: 40rpx;
  height: 40rpx;
}

.default {
  display: none;
}

.slot:empty + .default {
  display: flex;
}

2.3.js

  • 在properties下設(shè)置標(biāo)題
  • 在options開啟多個插槽
// components/nav-bar/nav-bar.js

const app = getApp()
Component({
  options: {
    multipleSlots: true
  },
  properties:{
    title: {
      type: String,
      value: "導(dǎo)航標(biāo)簽"
    }
  },
  data:{
    statusHeight:20
  },
  lifetimes: {
    attached(){
      this.setData({statusHeight: app.globalData.statusHeight})
    }
  }
})

2.4.在頁面中使用導(dǎo)航欄組件

???

因為插槽的使用,這里就很方便了,如果添加內(nèi)容,那么就會顯示默認(rèn)插槽

2.5.效果圖

 這就是大概的效果了,當(dāng)然文字箭頭這里都是可以自定義的hh

總結(jié)

到此這篇關(guān)于微信小程序自定義導(dǎo)航欄及其封裝的文章就介紹到這了,更多相關(guān)微信小程序自定義導(dǎo)航欄封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS實現(xiàn)中文漢字按拼音排序的方法

    JS實現(xiàn)中文漢字按拼音排序的方法

    這篇文章主要介紹了JS實現(xiàn)中文漢字按拼音排序的方法,涉及javascript針對中文字符串的轉(zhuǎn)換、遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • easyui給某一個單元格的內(nèi)容增加下劃線的操作方法

    easyui給某一個單元格的內(nèi)容增加下劃線的操作方法

    在EasyUI的DataGrid組件中,你可以通過自定義單元格的渲染方式來實現(xiàn)給某一個單元格的內(nèi)容增加下劃線的效果,本文給大家介紹easyui如何給某一個單元格的內(nèi)容增加下劃線,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • JavaScript校驗Number(4,1)格式的數(shù)字實例代碼

    JavaScript校驗Number(4,1)格式的數(shù)字實例代碼

    這篇文章主要介紹了JavaScript校驗Number(4,1)格式的數(shù)字實例代碼,本文實現(xiàn)思路明確代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • js繼承的6種方式詳解

    js繼承的6種方式詳解

    這篇文章主要給大家介紹了關(guān)于js繼承的6種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 使用TS來編寫express服務(wù)器的方法步驟

    使用TS來編寫express服務(wù)器的方法步驟

    這篇文章主要介紹了使用TS來編寫express服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • js實現(xiàn)跨域的幾種方法匯總(圖片ping、JSONP和CORS)

    js實現(xiàn)跨域的幾種方法匯總(圖片ping、JSONP和CORS)

    平時用慣了jQuery.ajax之類的方法,卻時常忽略了它背后的實現(xiàn),本文是學(xué)習(xí)了AJAX基礎(chǔ)及幾種跨域解決方案之后的一些收獲。
    2015-10-10
  • js實現(xiàn)自定義右鍵菜單

    js實現(xiàn)自定義右鍵菜單

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)自定義右鍵菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 深入淺析JavaScript中的作用域和上下文

    深入淺析JavaScript中的作用域和上下文

    javascript中的作用域(scope)和上下文(context)是這門語言的獨到之處,這部分歸功于他們帶來的靈活性。本文給大家介紹JavaScript中的作用域和上下文,感興趣的朋友一起學(xué)習(xí)
    2016-03-03
  • 詳解JavaScript基于面向?qū)ο笾畡?chuàng)建對象(2)

    詳解JavaScript基于面向?qū)ο笾畡?chuàng)建對象(2)

    這篇文章主要介紹了JavaScript基于面向?qū)ο笾畡?chuàng)建對象,詳細(xì)的分析面向?qū)ο蟮脑头绞揭约捌渌C合的方式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 使用非html5實現(xiàn)js板連連看游戲示例代碼

    使用非html5實現(xiàn)js板連連看游戲示例代碼

    連連看游戲通常情況下都是使用html5來實現(xiàn)的,不過從現(xiàn)在開始就可以使用js來實現(xiàn)了,具體的代碼如下,喜歡的朋友可以參考下,希望對大家有所幫助
    2013-09-09

最新評論