国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

詳解微信小程序膠囊按鈕返回|首頁自定義導航欄功能

2024-07-22 01:18:12
字體:
來源:轉載
供稿:網友

項目代碼:https://github.com/Shay0921/header-navbar.git

在小程序中,從轉發出來的小程序消息卡片進入,因為頁面棧中只有一個,所以不會出現返回按鈕,對于一些電商平臺來說,當商品被轉發后會很影響客戶查看其它產品和首頁,這時候就需要使用自定義導航欄自己寫一個“膠囊按鈕”。如下圖所示:

從別的頁面點到商品頁時會有返回和首頁按鈕;

 

當從分享頁進入到商品頁時,因為頁面棧只有一個,所以只有首頁按鈕;

 

首先我們需要如何開啟自定義導航欄,查看手冊后會發現一個頁面配置項: navigationStyle

 

之前的版本此配置項只能在app.js中配置,是全局的屬性,而現在可以在單獨的頁面json中配置,實現單獨頁面自定義導航欄。

整體思路

當使用了 navigationStyle:custom 后,之前的頂部標題欄會被刪除,右側的膠囊按鈕則會固定在右上角。然后在當前頁面添加了三個view(狀態欄、標題欄、主體內容),可以看出三塊的布局,我直接寫死的高度:狀態欄20px,標題欄44px。這個是自定義導航欄的關鍵,需要去計算這兩塊的高度,還有返回|首頁膠囊按鈕的位置。基礎庫 2.1.0開始可以使用 wx.getMenuButtonBoundingClientRect() 來獲得 右側膠囊按鈕的位置信息 ,而有了這個信息,就能相對的算出我們想要在左側添加的膠囊按鈕的位置。通過 wx.getSystemInfoSync()中的statusBarHeight找到狀態欄的高度 。

 

目錄結構

├── components     組件│ ├── headerNavbar    頂部自定義導航欄│ │ └── headerNavbar.js│ │ └── headerNavbar.json│ │ └── headerNavbar.wxml│ │ └── headerNavbar.wxss├── pages      頁面│ ├── index     首頁│ │ └── index.js│ │ └── index.json│ │ └── index.wxml│ │ └── index.wxss│ ├── navigationStyle   引入自定義導航欄的頁面(單獨配置了navigationStyle)│ │ └── navigationStyle.js│ │ └── navigationStyle.json│ │ └── navigationStyle.wxml│ │ └── navigationStyle.wxss│ │ └── testPage.js   路由測試頁面(后面用來測試跳轉顯示不同膠囊按鈕)│ │ └── testPage.json│ │ └── testPage.wxml│ │ └── testPage.wxss

全局變量

app.js

在app.js中要先獲得狀態欄高度和右側膠囊位置信息

App({ onLaunch: function (options) {  // 這里省略掉了登錄和獲取用戶信息等函數  // 因為我在別的頁面也需要使用此信息,所以沒有單獨獲得 statusBarHeight  wx.getSystemInfo({ // 獲取設備信息  success: (res) => {   this.globalData.systeminfo = res  },  })  // 獲得膠囊按鈕位置信息  this.globalData.headerBtnPosi = wx.getMenuButtonBoundingClientRect() }, globalData: {  systeminfo: {}, // 系統信息  headerBtnPosi: {} // 膠囊按鈕位置信息 }})            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 纳雍县| 叶城县| 罗源县| 毕节市| 蒙阴县| 章丘市| 彭阳县| 甘孜| 西吉县| 呼和浩特市| 错那县| 福清市| 兴安盟| 成都市| 改则县| 汉中市| 道孚县| 合阳县| 北票市| 徐水县| 黔西县| 澜沧| 应城市| 博客| 舞钢市| 郧西县| 穆棱市| 遂平县| 策勒县| 松原市| 溧阳市| 岑溪市| 广安市| 桐柏县| 塘沽区| 东兴市| 年辖:市辖区| 佳木斯市| 鄂州市| 淮南市| 荆州市|