微信小程序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)改變,沒有兩列改變得,我在寫的時(shí)候琢磨了很久官方文檔,于是寫下此篇文檔,作為總結(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 組件彈出來之前,附上值。 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)的問題探究
相關(guān)文章
javascript 一段左右兩邊隨屏滾動(dòng)的代碼
在不少的網(wǎng)站使用了這種技術(shù),一般就是兩邊的一些三個(gè)小塊排一起的廣告。2009-06-06
JS實(shí)現(xiàn)網(wǎng)頁自動(dòng)刷新腳本的方法
要自動(dòng)刷新網(wǎng)頁,你可以使用JavaScript腳本來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)網(wǎng)頁自動(dòng)刷新腳本的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
JavaScript中“過于”犀利地for/in循環(huán)使用示例
Java中的增強(qiáng)for循環(huán)很是好用,但是JavaScript中為我們提供的for/in循環(huán)已然不是這么簡(jiǎn)單了,下面有個(gè)簡(jiǎn)單的示例,大家不妨參考下2013-10-10
微信小程序 仿美團(tuán)分類菜單 swiper分類菜單
本文主要介紹了微信小程序仿美團(tuán)分類菜單(swiper分類菜單)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
SyntaxHighlighter自動(dòng)識(shí)別并加載腳本語言
SyntaxHighlighter是一個(gè)使用JavaScript編寫的支持多種編程語言語法高亮的JS插件,很多大型網(wǎng)站或博客都在使用?,F(xiàn)在給大家介紹一下如何讓它自動(dòng)識(shí)別加載我們添加的代碼語言2017-02-02
layer彈出框確定前驗(yàn)證:彈出消息框的方法(彈出兩個(gè)layer)
今天小編就為大家分享一篇layer彈出框確定前驗(yàn)證:彈出消息框的方法(彈出兩個(gè)layer),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript獲取當(dāng)前時(shí)間戳5種方法匯總
很多時(shí)候我們都把時(shí)間戳作為id值,下面這篇文章主要給大家介紹了關(guān)于JavaScript獲取當(dāng)前時(shí)間戳的5種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10

