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

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

