微信小程序picker組件兩列關(guān)聯(lián)使用方式
在使用微信小程序picker組件時(shí)候,可以設(shè)置屬性 mode = multiSelector 意為多列選擇,關(guān)聯(lián)選擇,當(dāng)?shù)谝涣邪l(fā)生改變時(shí)侯,第二列甚至第三列發(fā)生相應(yīng)的改變。但是官方文檔上給的只有三列數(shù)據(jù)關(guān)聯(lián)改變,沒(méi)有兩列改變得,我在寫(xiě)的時(shí)候琢磨了很久官方文檔,于是寫(xiě)下此篇文檔,作為總結(jié)。
結(jié)構(gòu)文件
<picker mode="multiSelector" bindchange="PickerChange" bindcolumnchange="PickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}"> <view class="picker"> {{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}} </view> </picker>
bindcolumnchange 為每一列改變時(shí)候觸發(fā)的函數(shù),參數(shù)為 e ,
bindchange 為最終選中之后觸發(fā)函數(shù),參數(shù)為 e,
range 為綁定數(shù)組
js文件
data: { multiArray: [['飛禽', '走獸'], ['鷹', '鴿子', '麻雀', '鸚鵡']], multiIndex: [0, 0], arrColumn0: ['鷹', '鴿子', '麻雀', '鸚鵡'], arrColumn1: ['兔子', '獅子', '獵狗'] }, PickerChange(e) { var value = e.detail.value this.setData({ multiIndex: value }) console.log(this.data.multiArray[0][value[0]], this.data.multiArray[1][value[1]]) }, PickerColumnChange(e) { // 先定義數(shù)據(jù),數(shù)組里面兩個(gè)數(shù)組,意為兩列,當(dāng)?shù)谝涣邪l(fā)生改變時(shí)侯,給數(shù)組重新賦值 var obj = e.detail var multiArray = this.data.multiArray if (obj.column == 0 && obj.value == 0) { multiArray[1] = this.data.arrColumn0 } if (obj.column == 0 && obj.value == 1) { multiArray[1] = this.data.arrColumn1 } this.setData({ multiArray: multiArray }) },
設(shè)計(jì)思路
multiArray 為彈出層顯示數(shù)據(jù),為一個(gè)數(shù)組,數(shù)組里面有幾個(gè)數(shù)組,就是顯示幾列,我這是兩個(gè)數(shù)組,即為顯示兩列,
multiIndex 為最終選中得數(shù)據(jù)索引,是函數(shù) PickerChange 參數(shù) e 里面包含得數(shù)組
e.detail.value 有兩列,即會(huì)返回 [1,2] , 前面得 1 表示為,最終選擇第一列得數(shù)組中索引為 1 對(duì)應(yīng)的那個(gè)值。后邊得 2 表示為,最終選中得為第二列數(shù)據(jù)中索引為 2 對(duì)應(yīng)的值
arrColumn0 和 arrColumn1,是我定義得數(shù)組,可以從后臺(tái)直接獲取,但是一定要在 picker 組件彈出來(lái)之前,附上值。 multiArray 同理也可以這樣賦值。
PickerColumnChange 函數(shù),當(dāng)每一列改變時(shí)候都會(huì)觸發(fā)這個(gè)函數(shù),
到此這篇關(guān)于微信小程序picker組件兩列關(guān)聯(lián)使用方式的文章就介紹到這了,更多相關(guān)微信小程序picker組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 微信小程序自定義可搜索的picker組件示例詳解
- 微信小程序自定義yPicker組件實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)功能
- 微信小程序picker組件關(guān)于objectArray數(shù)據(jù)類型的綁定方法
- 微信小程序picker組件簡(jiǎn)單用法示例【附demo源碼下載】
- 微信小程序picker組件下拉框選擇input輸入框的實(shí)例
- 微信小程序 picker-view 組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序 picker 組件詳解及簡(jiǎn)單實(shí)例
- 微信小程序使用picker組件出現(xiàn)的問(wèn)題探究
相關(guān)文章
js 連續(xù)賦值的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇js 連續(xù)賦值的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06es6函數(shù)之rest參數(shù)用法實(shí)例分析
這篇文章主要介紹了es6函數(shù)之rest參數(shù)用法,結(jié)合實(shí)例形式分析了es6函數(shù)rest參數(shù)功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04javascript實(shí)現(xiàn)修改微信分享的標(biāo)題內(nèi)容等
這篇文章主要介紹了javascript實(shí)現(xiàn)修改微信分享的標(biāo)題內(nèi)容等,需要的朋友可以參考下2014-12-12解決Layui數(shù)據(jù)表格顯示無(wú)數(shù)據(jù)提示的問(wèn)題
今天小編就為大家分享一篇解決Layui數(shù)據(jù)表格顯示無(wú)數(shù)據(jù)提示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11js+div實(shí)現(xiàn)圖片滾動(dòng)效果代碼
本篇文章主要是對(duì)js+div實(shí)現(xiàn)圖片滾動(dòng)效果的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02酷! 不同風(fēng)格頁(yè)面布局幻燈片特效js實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了超酷不同風(fēng)格頁(yè)面布局幻燈片特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08