微信小程序三級(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í)際開發(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)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)側(cè)邊欄分類
- 微信小程序之側(cè)邊欄滑動(dòng)實(shí)現(xiàn)過程解析(附完整源碼)
- 微信小程序側(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)的變化,并減少冗余代碼。本文就來帶大家揭秘如何利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù),感興趣的可以了解一下2023-04-04javascript中方便增刪改cookie的一個(gè)類
把jquery.cookie.js改了一下,改成了純javascript版本,以備我以后項(xiàng)目只需,增加了一個(gè)得到頁(yè)面全部cookie鍵值的功能2012-10-10JavaScript訪問本地文件夾的幾種實(shí)現(xiàn)方法
由于安全限制無法直接訪問用戶的本地文件或文件夾,本文主要介紹了JavaScript訪問本地文件夾的幾種實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06JavaScript實(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-08JS簡(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)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-09-09js中的異步獲取到的數(shù)據(jù)到底能不能賦值給一個(gè)全局變量問題
這篇文章主要介紹了js中的異步獲取到的數(shù)據(jù)到底能不能賦值給一個(gè)全局變量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04