微信小程序三級(jí)聯(lián)動(dòng)選擇器使用方法
本文實(shí)例為大家分享了微信小程序三級(jí)聯(lián)動(dòng)選擇器的具體代碼,供大家參考,具體內(nèi)容如下
效果圖

實(shí)現(xiàn)原理
利用微信小程序的picker組件,其中:
1,普通選擇器:mode = selector實(shí)現(xiàn)一級(jí)選擇實(shí)例;
2,省市區(qū)選擇器:mode = region實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng);
3, 多列選擇器:mode = multiSelector實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)的10以內(nèi)數(shù)字的乘法。
WXML
<view class="tui-picker-content">
<view class="tui-picker-name">一級(jí)選擇實(shí)例</view>
<picker bindchange="changeCountry" value="{{countryIndex}}" range="{{countryList}}">
<view class="tui-picker-detail">{{countryList[countryIndex]}}</view>
</picker>
</view>
<view class="tui-picker-content">
<view class="tui-picker-name">省市區(qū)三級(jí)聯(lián)動(dòng)選擇</view>
<picker bindchange="changeRegin" mode = "region" value="{{region}}">
<view class="tui-picker-detail">{{region[0]}} - {{region[1]}} - {{region[2]}}</view>
</picker>
</view>
<view class="tui-picker-content">
<view class="tui-picker-name">自定義二級(jí)聯(lián)動(dòng)選擇</view>
<picker bindchange="changeMultiPicker" mode = "multiSelector" value="{{multiIndex}}" range="{{multiArray}}">
<view class="tui-picker-detail">
{{multiArray[0][multiIndex[0]]}} * {{multiArray[1][multiIndex[1]]}} = {{multiArray[0][multiIndex[0]] * multiArray[1][multiIndex[1]]}}
</view>
</picker>
</view>
<view class="tui-picker-content">
<view class="tui-picker-name">自定義三級(jí)聯(lián)動(dòng)選擇</view>
<picker bindchange="changeMultiPicker3" mode = "multiSelector" value="{{multiIndex3}}" range="{{multiArray3}}">
<view class="tui-picker-detail">
{{multiArray3[0][multiIndex3[0]]}} * {{multiArray3[1][multiIndex3[1]]}} * {{multiArray3[2][multiIndex3[2]]}} = {{multiArray3[0][multiIndex3[0]] * multiArray3[1][multiIndex3[1]] * multiArray3[2][multiIndex3[2]]}}
</view>
</picker>
</view>
WXSS
page{background-color: #efeff4;}
.tui-picker-content{
padding: 30rpx;
text-align: center;
}
.tui-picker-name{
height: 80rpx;
line-height: 80rpx;
}
.tui-picker-detail{
height: 80rpx;
line-height: 80rpx;
background-color: #fff;
font-size: 35rpx;
padding: 0 10px;
overflow: hidden;
}
JS
Page({
data: {
// 普通選擇器列表設(shè)置,及初始化
countryList: ['中國(guó)','美國(guó)','英國(guó)','日本','韓國(guó)','巴西','德國(guó)'],
countryIndex: 6,
// 省市區(qū)三級(jí)聯(lián)動(dòng)初始化
region: ["四川省", "廣元市", "蒼溪縣"],
// 多列選擇器(二級(jí)聯(lián)動(dòng))列表設(shè)置,及初始化
multiArray: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]],
multiIndex: [3,5],
// 多列選擇器(三級(jí)聯(lián)動(dòng))列表設(shè)置,及初始化
multiArray3: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]],
multiIndex3: [3, 5, 4]
},
// 選擇國(guó)家函數(shù)
changeCountry(e){
this.setData({ countryIndex: e.detail.value});
},
// 選擇省市區(qū)函數(shù)
changeRegin(e){
this.setData({ region: e.detail.value });
},
// 選擇二級(jí)聯(lián)動(dòng)
changeMultiPicker(e) {
this.setData({multiIndex: e.detail.value})
},
// 選擇三級(jí)聯(lián)動(dòng)
changeMultiPicker3(e) {
this.setData({ multiIndex3: e.detail.value })
}
})
總結(jié)
1、由于微信小程序的picker組件只提供單獨(dú)時(shí)間選擇器和日期選擇器,在實(shí)際開(kāi)發(fā)中,我們可能需要同時(shí)選擇日期和時(shí)間,組件不夠全面,所以在做日期選擇器時(shí),需要注意;
2、解決日期和時(shí)間選擇器結(jié)合的方法,利用多列選擇器實(shí)現(xiàn);
3、由于多列選擇器的數(shù)據(jù)采用的是二維數(shù)組,所以不能直接實(shí)現(xiàn)聯(lián)動(dòng)效果,需要對(duì)數(shù)據(jù)判斷處理。
合理的利用多列選擇器,picker組件提供的其他四種選擇器都能實(shí)現(xiàn)!
DEMO下載
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開(kāi)發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)側(cè)邊欄分類
- 微信小程序之側(cè)邊欄滑動(dòng)實(shí)現(xiàn)過(guò)程解析(附完整源碼)
- 微信小程序側(cè)邊欄滑動(dòng)特效(左右滑動(dòng))
- 微信小程序 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)實(shí)例代碼
- 微信小程序三級(jí)聯(lián)動(dòng)地址選擇器的實(shí)例代碼
- 微信小程序?qū)崿F(xiàn)左右列表聯(lián)動(dòng)
- 微信小程序?qū)崿F(xiàn)的picker多級(jí)聯(lián)動(dòng)功能示例
- 微信小程序?qū)崿F(xiàn)選擇地址省市區(qū)三級(jí)聯(lián)動(dòng)
- 微信小程序?qū)崿F(xiàn)聯(lián)動(dòng)選擇器
- 微信小程序?qū)崿F(xiàn)側(cè)邊欄二級(jí)聯(lián)動(dòng)
相關(guān)文章
JavaScript利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù)
Immerjs?是一個(gè)用于管理?JavaScript?不可變數(shù)據(jù)結(jié)構(gòu)的庫(kù),它可以幫助我們更輕松地處理狀態(tài)的變化,并減少冗余代碼。本文就來(lái)帶大家揭秘如何利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù),感興趣的可以了解一下2023-04-04
javascript中方便增刪改cookie的一個(gè)類
把jquery.cookie.js改了一下,改成了純javascript版本,以備我以后項(xiàng)目只需,增加了一個(gè)得到頁(yè)面全部cookie鍵值的功能2012-10-10
JavaScript訪問(wèn)本地文件夾的幾種實(shí)現(xiàn)方法
由于安全限制無(wú)法直接訪問(wèn)用戶的本地文件或文件夾,本文主要介紹了JavaScript訪問(wèn)本地文件夾的幾種實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
JavaScript實(shí)現(xiàn)帶箭頭標(biāo)識(shí)的多級(jí)下拉菜單效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)帶箭頭標(biāo)識(shí)的多級(jí)下拉菜單效果,可實(shí)現(xiàn)橫向與縱向箭頭的形式標(biāo)識(shí)選中菜單項(xiàng)位置的功能,涉及javascript針對(duì)頁(yè)面元素位置的判定與樣式動(dòng)態(tài)操作技巧,需要的朋友可以參考下2015-08-08
JS簡(jiǎn)單添加元素新節(jié)點(diǎn)的方法示例
這篇文章主要介紹了JS簡(jiǎn)單添加元素新節(jié)點(diǎn)的方法,結(jié)合實(shí)例形式分析了javascript針對(duì)頁(yè)面元素節(jié)點(diǎn)的創(chuàng)建、添加、克隆等相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
微信小程序中this.data與this.setData的區(qū)別詳解
這篇文章主要給大家介紹了關(guān)于微信小程序中this.data與this.setData區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-09-09
js中的異步獲取到的數(shù)據(jù)到底能不能賦值給一個(gè)全局變量問(wèn)題
這篇文章主要介紹了js中的異步獲取到的數(shù)據(jù)到底能不能賦值給一個(gè)全局變量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04

