国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序自定義導航欄navBar組件

這篇具有很好參考價值的文章主要介紹了微信小程序自定義導航欄navBar組件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

參考鏈接,第二個鏈接下滑時導航欄變白色好用微信小程序自定義navigationBar頂部導航欄,兼容適配所有機型(附完整案例)_小程序自定義導航欄-CSDN博客

?【微信小程序開發(fā)(二)】自定義導航欄_微信小程序分類導航欄-CSDN博客

一.創(chuàng)建navBar組件

1.components下創(chuàng)建navBar文件夾

微信小程序自定義navbar,微信小程序,小程序

?項目用到該組件的的頁面比較多,所以獲取高度寫到app.js

app.js

App({
   onLaunch(options) {
    const that = this;
    // 獲取系統(tǒng)信息
    const systemInfo = wx.getSystemInfoSync();
    // 膠囊按鈕位置信息
    const menuButtonInfo = wx.getMenuButtonBoundingClientRect();
    // 導航欄高度 = 狀態(tài)欄高度 + 44
    that.globalData.navBarHeight = systemInfo.statusBarHeight + 44;
    that.globalData.menuRight = systemInfo.screenWidth - menuButtonInfo.right;
    that.globalData.menuTop = menuButtonInfo.top;
    that.globalData.menuHeight = menuButtonInfo.height;
  },
  // 數(shù)據(jù)都是根據(jù)當前機型進行計算,這樣的方式兼容大部分機器
  globalData: {
    userInfo: null,
    navBarHeight: 0, // 導航欄高度
    menuRight: 0, // 膠囊距右方間距(方保持左、右間距一致)
    menuTop: 0, // 膠囊距頂部間距
    menuHeight: 0, // 膠囊高度(自定義內(nèi)容可與膠囊高度保證一致)
})

navBar可能代碼缺失,因為只貼主要代碼?

navBar.wxml

<!-- 自定義頂部欄 -->
<view class="nav-bar" style="height:{{navBarHeight}}px;width: 100%;" class="{{backType=='login'?'backFFF':''}}">
  <view>
    <view style="height:{{menuHeight}}px; min-height:{{menuHeight}}px; line-height:{{menuHeight}}px; left:{{menuRight}}px; top:{{menuTop}}px;">
      <view wx:if="{{backType=='noBack'}}" class="bg-op2" ></view>
      <view wx:else class="bg-op" style="opacity:{{opacity}};"></view>
      <view style="position: absolute;top:{{menuTop}}px;" class="left-icon" bindtap="navigateBack">
        <image src="png" mode='widthFix'></image>
      </view>
      <view class="title" style="text-align:center;font-size: 28rpx;padding-top:{{menuTop}}px;">{{title}}</view>
      <view class="icon"></view>
    </view>
  </view>
</view>

navBar.js

// components/navBar/navBar.js
const app = getApp()
Component({
  properties: {
    title: {
      type: String,
      value: ''
    },
    backType: {
      type: String,
      value: ''
    },
    toBack: {
      type: String,
      value: ''
    },
    scrollTop: {
      type: String,
      value: '0',
      observer: 'update', // 類似于vue的 watch 動態(tài)傳值
    },
  },
  data: {
    opacity: 0,
    navBarHeight: app.globalData.navBarHeight,
    menuRight: app.globalData.menuRight,
    menuTop: app.globalData.menuTop,
    menuHeight: app.globalData.menuHeight,
  },
  attached: function () {

  },
  onPageScroll(t) {
    this.setData({
      scrollTop: t.scrollTop
    })
    console.log('scrollTop',this.data.scrollTop)
  },
  methods: {
    navigateBack: function () {
      if(this.data.toBack=='function'){
        wx.switchTab({
          url: ''
        })
      }else{
        wx.navigateBack({
          delta: 1,
        })
      }
    },
    update(newValue) {
      let op = 0;
      if (newValue != 0 && newValue <= 40) {
        op = newValue / 40
      }
      if (newValue >= 40) {
        op = 1;
      }
      this.setData({
        opacity: op
      })
    },
    parentClose: function () {
      debugger
      this.triggerEvent('parentClose');
    },

  }
})

navBar.wxss

/* component/navBar/navBar.wxss */
.nav-bar {
  position: fixed;
  width: 100%;
  top: 0;
  color: #fff;
  z-index: 9999;
}

.backFFF {
  background-color: #FFFFFF;
}

/* .nav-bar .search {
  width: 60%;
  color: #333;
  font-size: 14px;
  background: #fff;
  position: absolute;
  border-radius: 50px;
  background: #ddd;
  padding-left: 14px;
} */

/* 原始 */
.back-nav-bar {
  /* height: 64rpx; */
  width: 100vw;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  position: relative;
}

.bg-op {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  /* background: linear-gradient(180deg, #C1CFE5 0%, #DEE4EE 100%); */
  background: #FFFFFF;
  z-index: -1;
}

.bg-op2 {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.left-icon {
  margin-left: 20rpx;
  padding-right: 50rpx;
}

.left-icon image {
  width: 20rpx;
  height: 38rpx;
  padding-top: 10rpx;
}

.left-icon2 {
  margin-left: 20rpx;
}

.left-icon2 image {
  width: 50rpx;
  height: 45rpx;
  padding-top: 6rpx;
}

.icon {
  width: 40rpx;
  height: 45rpx;
}

?navBar.json

{
  "component": true,
  "usingComponents": {}
}

二.隱藏原生的navigationBar

1.需要全局設為自定義。

app.json里面window全局配置里有個參數(shù):navigationStyle(導航欄樣式),default=默認樣式,custom=自定義樣式。自定義需要配置為custom


"window": {
	"navigationStyle": "custom"
}
2.指定頁面設為自定義。

在需要使用自定義組件navBar的頁面的json文件里面,設置navigationStyle為custom,并且引入組件

{
  "component": true,
  "navigationStyle": "custom",
  "usingComponents": {
    "navBar": "/components/navBar/navBar",
  }
}

三.父頁面使用navBar組件

父頁面wxml文件

<navBar backType="editLaw" bind:parentClose="parentClose" title="{{navigaTitle}}"></navBar>

父頁面js文件文章來源地址http://www.zghlxwxcb.cn/news/detail-857208.html

parentClose: function () {
   this.triggerEvent('parentClose');
},

到了這里,關(guān)于微信小程序自定義導航欄navBar組件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 微信小程序云開發(fā)之自定義頂部導航欄搜索框(非組件)

    微信小程序云開發(fā)之自定義頂部導航欄搜索框(非組件)

    提到微信小程序,就不得不提到它那磨人的頂部導航欄,真的有被丑到。身為強迫癥患者,筆者實在是難以忍受,好在官方提供了解決方案,但是對于初學者還是有一丟丟的難度,為了初學者不在重蹈筆者的老路,這篇文章就給大家分享一下如何做一個好看的自定義頂部導航

    2024年02月10日
    瀏覽(28)
  • 微信小程序自定義底部導航欄

    微信小程序自定義底部導航欄

    微信小程序自定義底部導航欄,原生實現(xiàn),不包含其他任何第三方組件,比較干凈,開箱即用 效果預覽: 可自定義底部導航欄列表樣式 可自定義每個菜單的默認、激活后的圖標和文字樣式 可自定義是否添加中間的大圖標菜單,當然也可自定義大圖標的默認與激活樣式 可自

    2024年02月07日
    瀏覽(35)
  • 微信小程序自定義頂部導航,滾動頁面頂部導航顏色漸變

    微信小程序自定義頂部導航,滾動頁面頂部導航顏色漸變

    微信小程序自定義頂部導航欄,使背景圖置頂;當向上滾動頁面時,實現(xiàn)頂部導航顏色漸變 實現(xiàn)方法 代碼如下(示例): 提示:由于不同的手機機型頂部導航高度不一樣,所有要獲取手機的信息 總共三步: 1、初始化獲取頂部導航信息 2、頂部導航文字上方通過view占位,同

    2024年02月11日
    瀏覽(27)
  • 微信小程序(uniapp)自定義導航欄

    微信小程序(uniapp)自定義導航欄

    微信小程序原生頁面導航欄,無法進行自定義交互,如想實現(xiàn)類似下圖的效果,就得使用自定義導航欄 這里使用到uView的組件u-navbar 。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 導航欄樣式分為兩種 default/custom,custom即取消默認的原生導航,默認為default。 原生導航

    2024年04月27日
    瀏覽(29)
  • 微信小程序自定義頭部標題導航欄

    微信小程序自定義頭部標題導航欄

    wxml: js: wxss: 樣例: 支持透明,標題部分可插槽 支持漸變色 ?常規(guī)居中,左上角icon可自定義,本地或者網(wǎng)絡路徑皆可 或者無標題,只有左上角icon 文件鏈接: https://download.csdn.net/download/qq_48702470/87815185 文件解壓縮至項目根目錄下的components文件夾下即可 使用:在想要使用

    2024年02月11日
    瀏覽(24)
  • 微信小程序自定義導航欄返回和標題

    微信小程序自定義導航欄返回和標題

    1.新建組件 index.json navbar.wxss index.ts index.wxml 組件定義完畢 2.修改app.ts文件,獲取膠囊和系統(tǒng)信息 3.在具體頁面中引用,index.wxml 修改對應index.ts文件 4.實現(xiàn)效果 ?參考:微信小程序?qū)崿F(xiàn)原生導航欄和自定義頭部導航欄_微信小程序頭部導航欄_花鐺的博客-CSDN博客 微信小程序自定

    2024年02月10日
    瀏覽(41)
  • 微信小程序自定義頂部導航,附加返回主頁按鈕

    微信小程序自定義頂部導航,附加返回主頁按鈕

    ? 目錄 一、修改對應json文件 二、獲取微信小程序原生頂部導航欄的高 ?三、獲取膠囊的寬高 四、設置wxml頁面樣式? 話不多說,先上效果!?。?? ? ? 首先,我們都知道,通過原生小程序是不具備左側(cè)膠囊的效果的,所以在實現(xiàn)這個功能的時候一定要記得修改當前頁的jso

    2024年02月04日
    瀏覽(21)
  • 微信小程序+vant組件 側(cè)邊導航欄切換顯示

    設計頁面時希望效果:左側(cè)側(cè)邊導航欄,右側(cè)內(nèi)容。點擊左側(cè)導航欄的不同塊,右側(cè)顯示不同內(nèi)容。 采用了vant組件中側(cè)邊導航欄van-sidebar,van-sidebar子標簽包括多個van-sidebar-item 實現(xiàn)方法: van-sidebar中設置 bind:change=\\\"onChange\\\": 隨后在js文件中編寫onChange(event),其中event.deta

    2024年02月13日
    瀏覽(20)
  • 微信小程序、uniapp自定義底部導航欄(附源碼)

    微信小程序、uniapp自定義底部導航欄(附源碼)

    需求分析 目前開發(fā)一套“同城跑腿平臺”小程序,面向用戶和騎手,需要兩個不同的底部導航,uniapp原生導航不滿足要求。所以需要自定義導航欄。 隨著自定義導航卡完成,切換選項卡頁面總是閃爍,在網(wǎng)上也沒有搜到完整的解決方法,總不能完美解決?,F(xiàn)在我有一個方法

    2024年02月04日
    瀏覽(28)
  • 微信小程序自定義tabbar導航欄,中間凸出樣式

    微信小程序自定義tabbar導航欄,中間凸出樣式

    這種樣式的底部導航欄 使用微信小程序的自定義tabBar:微信小程序官方說明 uni.app=在? page.json ? 中的? tabBar ?項指定? custom ? 字段為true: 在根目錄創(chuàng)建custom-tab-bar目錄, 注意一定要完全匹配,不要輸錯 : ?index.js代碼: 注意這里的中間需要凸出項設置一個class index.json代碼

    2024年02月09日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包