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

taro之--微信自定義tabbar

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

微信小程序自定義 Tabbar

Taro 支持使用 React、Vue、或者小程序原生語法來編寫小程序自定義 TabBar 組件。

示例項目

  • 微信小程序自定義 TabBar(React)

  • 微信小程序自定義 TabBar(Vue3)

如何使用

配置方法和微信小程序相同,開發(fā)前請仔細閱讀 《微信小程序自定義 TabBar 文檔》。

配置信息

  • 在 app.config 中按正常填寫 tabBar 項的相關(guān)配置(為了向下兼容),并把 tabBar 項的 custom 字段設(shè)置為 true。

  • 所有作為 TabBar 頁面的 config 里需要聲明 usingComponents 項,也可以在 app.config 設(shè)置全局開啟。

示例:

app.config.js

export default {
  tabBar: {
    custom: true,
    color: '#000000',
    selectedColor: '#000000',
    backgroundColor: '#000000',
    list: [
      {
        pagePath: 'page/component/index',
        text: '組件',
      },
      {
        pagePath: 'page/API/index',
        text: '接口',
      },
    ],
  },
}

page/component/index.config.js

export default {  navigationBarTitleText: '組件頁',  usingComponents: {},}

page/API/index.config.js

export default {  navigationBarTitleText: '接口頁',  usingComponents: {},}

添加 custom-tab-bar

src 目錄下添加 custom-tab-bar 目錄,在里面書寫組件,支持 React、Vue 和原生寫法。

React:

├── config
├── src
|   └── custom-tab-bar
|       ├── index.json.js
|       └── index.jsx
└── package.json

Vue:

├── config
├── src
|   └── custom-tab-bar
|       ├── index.json.js
|       └── index.vue
└── package.json

原生寫法:

├── config
├── src
|   └── custom-tab-bar
|       ├── index.js
|       ├── index.json
|       ├── index.wxss
|       └── index.wxml
└── package.json

圖片資源引用

使用 React/Vue 開發(fā)自定義 TabBar 時,可以不使用 import 或 require 引用圖片資源(Taro 會自動根據(jù) TabBar 配置處理)。

如果使用了 import、require 或使用 background-image 時需要關(guān)注圖片是否被 url-loader 處理為 base64,base64 的圖片在 TabBar 中不能展示。

狀態(tài)管理

默認 TabBar 與自定義 TabBar 的最大不同點在于,默認 TabBar 在所有 TabBar 頁共享一個組件實例,而自定義 TabBar 在各個 TabBar 頁面初始化時都會創(chuàng)建一個新的組件實例。

也就是說各個 TabBar 頁內(nèi)的自定義 TabBar 組件實例的狀態(tài)是不共享的。因此對 TabBar 的狀態(tài)管理(例如 selected 選中態(tài))則尤為重要。

對于不同寫法的自定義 TabBar,Taro 提供了不同的狀態(tài)管理方案:

1. 原生寫法

微信小程序原生寫法推薦使用 getTabBar 方法進行管理,如果你的自定義組件是使用原生寫法編寫的,那么可以參考小程序官方提供的示例。

唯一需要注意的是,在小程序原生頁面是調(diào)用 this.getTabBar,但 Taro 的頁面是 React/Vue 組件,this 指向的并不是原生頁面對象。因此需要先獲取原生頁面對象再進行調(diào)用:

// 頁面 onShow 時Taro.getCurrentInstance().page.getTabBar()
2. React / Vue

React 和 Vue 推薦使用狀態(tài)管理工具(Redux、Vuex 等)對 TabBar 頁的狀態(tài)進行管理。優(yōu)點在于無須侵入各個 TabBar 頁面的代碼,邏輯可以歸集在 TabBar 組件中。

如果開發(fā)者不希望使用狀態(tài)管理工具,Taro 提供了 Taro.getTabBar API 以獲取自定義 TabBar 組件(React/Vue 組件),然后開發(fā)者可以調(diào)用它上面的方法去更新 TabBar 組件的狀態(tài)。

// 頁面 onShow 時const pageObj = Taro.getCurrentInstance().pageconst tabbar = Taro.getTabBar(pageObj)
示例項目 中提供了兩個例子,React 版本的例子展示了如何使用 Taro.getTabBar 管理狀態(tài),Vue3 版本的例子則展示了如何使用狀態(tài)管理工具來管理狀態(tài)。

組件配置項

自定義 TabBar 組件使用小程序的 Component 構(gòu)造器構(gòu)造,開發(fā)者在處理樣式隔離等問題時可以需要對 Component 進行配置。這時開發(fā)者可以給 React/Vue 編寫的自定義組件這些配置項屬性,Taro 會把它們放置到 Component 構(gòu)造對象上,目前支持:options、externalClasses、behaviors。

例子:

  • React

  • Vue

示例代碼

// Class Component
class CustomTabBar extends Component {
  static options = {
    addGlobalClass: true,
  }
}

// Functional Component
function CustomTabBar() {}
CustomTabBar.options = {
  addGlobalClass: true,
}

常見問題

閃爍問題

第一次加載 TabBar 頁時 TabBar 會閃爍

自定義 TabBar 在各個 TabBar 頁面初始化時都會創(chuàng)建一個新的組件實例導(dǎo)致??梢缘轿⑿判〕绦蜷_發(fā)者社區(qū)尋找相關(guān)解決方案。

切換 Tab 時圖片閃爍

盡量使用本地圖片或 iconfont。文章來源地址http://www.zghlxwxcb.cn/news/detail-488126.html

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

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

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

相關(guān)文章

  • 微信小程序自定義tabBar簡易實現(xiàn)

    微信小程序自定義tabBar簡易實現(xiàn)

    index.wxml index.json index.js index.css 如果是componet的頁面就直接再show中自己定義它的selected代表當前的選中態(tài)

    2024年02月03日
    瀏覽(28)
  • 微信小程序自定義tabBar(邊框圓角)

    微信小程序自定義tabBar(邊框圓角)

    先看看自定義tabBar的效果 ?? ?可能圖片效果不是很明顯,我用紅框框出來了,這樣看起來明顯一點。 接下來就是具體步驟了 ?先在pages里建兩個文件夾,我現(xiàn)在做的項目tabBar只有兩個,所以我建了兩個文件夾,如果大于兩個用這個方法也可以,但是不能多于五個。 app.json中

    2024年02月08日
    瀏覽(39)
  • 微信小程序自定義tabbar閃爍問題

    閃爍問題原因:超過兩個tabbar頁不要單純的使用官方說的show時getTabBar().setData設(shè)置選中態(tài),自定義tabbar是多個實例的,那樣只會改變當前tabbar實例的選中態(tài),其他頁面的tabbar實例并沒有改變選中態(tài)。 解決tabbar閃爍問題: 1.在app.js中設(shè)置 globalData 2.在 custom-tab-bar/index.js 中設(shè)置

    2024年02月10日
    瀏覽(20)
  • 微信小程序 根據(jù)登錄后的角色權(quán)限 渲染底部tabbar--自定義渲染tabbar

    微信小程序 根據(jù)登錄后的角色權(quán)限 渲染底部tabbar--自定義渲染tabbar

    微信小程序模擬登錄后?根據(jù)不同角色權(quán)限?渲染底部tabbar (底部tabbar?用的是vant ui?提供的組件) ?1.權(quán)限一: 擁有的底部欄如圖 1.2 權(quán)限二: 擁有的底部欄 如圖 1.3?定義全局屬性用于存儲底部的tabbar渲染 一:??首先在全局文件App.json?配置tabbar (最少2個?最多5個),并且配置頁

    2024年02月02日
    瀏覽(31)
  • uniapp 微信小程序使用uview u-tabbar組件自定義tabbar

    uniapp 微信小程序使用uview u-tabbar組件自定義tabbar

    1.在components文件下面新建TabBar.vue組件, 使用uview的u-tabbar組件進行二次封裝; u-tabbar組件中value取當前匹配項的name, 一般從父組件傳過來即可; 在u-tabbar-item標簽內(nèi)可以使用插槽?slot=\\\'inactive-icon\\\'(選中的圖標)和slot=\\\'inactive-icon\\\'(未選中的圖標)自定義圖片樣式 u-tabbar組件默認已經(jīng)為i

    2024年02月13日
    瀏覽(95)
  • 微信小程序子頁面自定義tabbar組件

    微信小程序子頁面自定義tabbar組件

    有時候微信小程序會遇到代碼合并,就比如把B小程序代碼遷移到A小程序,要使得B作為A小程序的一個子頁面子功能。因為本身小程序都有tabbar,原來B也有,這時候就要給B子功能自定義一個tabbar底部導(dǎo)航欄。(注意,這個不是微信小程序自定義tabBar,不需要app.json中設(shè)置一個

    2024年02月08日
    瀏覽(26)
  • 【微信小程序】-- 案例 - 自定義 tabBar(四十六)

    【微信小程序】-- 案例 - 自定義 tabBar(四十六)

    ?? 所屬專欄:【微信小程序開發(fā)教程】 ?? 作??者:我是夜闌的狗?? ?? 個人簡介:一個正在努力學技術(shù)的CV工程師,專注基礎(chǔ)和實戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識的地方,喜歡的話請三連,有問題請私信 ?? ?? ?? ??大家好,又見面了,

    2024年02月03日
    瀏覽(23)
  • 微信小程序自定義 底部 tabbar (中間凸起)

    微信小程序自定義 底部 tabbar (中間凸起)

    在與 pages 文件夾同級的地方新建 custom-tab-bar 文件夾,并新建 index.wxml 、index.wxss 、index.js 、index.json 四個文件夾 注意路徑?。。?復(fù)制后會報錯,把圖片和頁面路徑改掉就好了!??! 提示: 不要無腦復(fù)制,復(fù)制到自己的項目中后記得更改圖片、頁面路徑?。?! 如需自定義 頭

    2024年02月20日
    瀏覽(26)
  • 微信小程序使用uniapp自定義tabbar

    微信小程序使用uniapp自定義tabbar

    第一步:在pages.json里定義自己tabbar路徑,定義的時候只需要寫上頁面路徑即可 ?第二步:自定義tabbar頁面,為了實現(xiàn)點擊動作的動態(tài)效果,需要用到watch監(jiān)聽父組件傳來的值的改變 ?自定義tabbar頁面全部代碼 注:該頁面可以直接用組件的方式來放,因為uniapp支持easycom模式,

    2024年02月13日
    瀏覽(24)
  • 微信小程序自定義tabBar,前端開發(fā)技能

    微信小程序自定義tabBar,前端開發(fā)技能

    首頁 分類 留言 我的 /components/index-tabbar/index.js Component({ properties: { active: { type: String, value: ‘index’ }, }, methods: { onChange(event) { wx.redirectTo({ url: /pages/${event.detail}/index , }) } } }) 模擬的 tabbar 頁面寫法如下: /pages/home/index.json { “usingComponents”: { “index-tabbar”: “/components/index-ta

    2024年04月22日
    瀏覽(33)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包