微信小程序?qū)崿F(xiàn)的picker多級(jí)聯(lián)動(dòng)功能示例
本文實(shí)例講述了微信小程序?qū)崿F(xiàn)的picker多級(jí)聯(lián)動(dòng)功能。分享給大家供大家參考,具體如下:
wxml部分:
<picker
mode="multiSelector"
bindchange="bindjobcatchange"
bindcolumnchange="bingjobcatcolumnchange"
value="{{multiIndex}}"
range="{{job_cat_list}}"
range-key="{{'cat_name'}}"
>
<view class="picker">
{{fenlei_title}}
</view>
</picker>
js部分:
Page({
data: {
server_url: app.globalData.URL,
fenlei_title:'分類',
job_cat_list:[],
multiIndex: [0,0,0],
filter:{
keywords:'',
job_cat_id:''
}
},
onLoad: function () {
this.jobcat();
},
jobcat: function() {
var that = this;
wx.request({
url: app.globalData.URL + "/xxx/eeee",
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默認(rèn)值
},
success: function (res) {
var data = res.data.data;
that.setData({
job_cat_list: [data, data[0]['children'], data[0]['children'][0]['children']]
});
}
});
},
bindjobcatchange: function(e){
this.setData({multiIndex:e.detail.value})
},
bingjobcatcolumnchange: function(e){
var index = this.data.multiIndex;
const data = {
job_cat_list: this.data.job_cat_list,
multiIndex: this.data.multiIndex
}
this.data.multiIndex[e.detail.column] = e.detail.value;
if (e.detail.column==0){
data.job_cat_list[1] = this.data.job_cat_list[0][index[0]]['children'];
data.job_cat_list[2] = data.job_cat_list[1][index[1]]['children'];
}else if(e.detail.column===1){
data.job_cat_list[2] = data.job_cat_list[1][index[1]]['children'];
this.data.filter.job_cat_id = data.job_cat_list[2][index[2]]['cat_name'];
}else if(e.detail.column===2){
this.data.filter.job_cat_id=data.job_cat_list[2][e.detail.value]['cat_name'];
}
this.setData(data)
}
})
php后臺(tái)部分:
public function jobcate(){
$zp_job_catModel = new ZpJobCat();
$job_cat = $zp_job_catModel->getcateAll();
$i=0;
$return_data = [];
foreach ($job_cat as $key=>$val){
$return_data[$i] = $val;
$return_data[$i]['children'] = [];
if (!empty($val['children'])){
$c=0;
foreach ($val['children'] as $k=>$v){
$return_data[$i]['children'][$c] = $v;
if (!empty($v['children'])){
$return_data[$i]['children'][$c]['children'] = [];
$m=0;
foreach ($v['children'] as $val2){
$return_data[$i]['children'][$c]['children'][$m] = $val2;
$m++;
}
}
$c++;
}
}
$i++;
}
$this->_success($return_data);
}
另外,本站在線工具小程序上的天氣查詢、車牌號(hào)歸屬地查詢以及陰歷陽歷轉(zhuǎn)換等工具就采用了聯(lián)動(dòng)查詢功能,感興趣的朋友可以掃描如下小程序碼查看:

希望本文所述對(duì)大家微信小程序開發(fā)有所幫助。
- 微信小程序?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)選擇器使用方法
- 微信小程序三級(jí)聯(lián)動(dòng)地址選擇器的實(shí)例代碼
- 微信小程序?qū)崿F(xiàn)左右列表聯(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)文章
在LayUI圖片上傳中,解決由跨域問題引起的請(qǐng)求接口錯(cuò)誤的方法
今天小編就為大家分享一篇在LayUI圖片上傳中,解決由跨域問題引起的請(qǐng)求接口錯(cuò)誤的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
js 設(shè)置選中行的樣式的實(shí)現(xiàn)代碼
設(shè)置選中的行樣式的js代碼,需要的朋友可以參考下,這里只給出了函數(shù),具體的自己發(fā)揮。2010-05-05
javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
reverse方法將一個(gè)Array對(duì)象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象,下面為大家介紹下2013-11-11
總結(jié)分享10 個(gè)超棒的 JavaScript 簡(jiǎn)寫技巧
這篇文章主要總結(jié)分享10 個(gè)超棒的 JavaScript 簡(jiǎn)寫技巧,有合并數(shù)組、克隆數(shù)組、解構(gòu)賦值、模板字面量等技巧,需要的朋友可以參考一下2022-06-06
詳解TS對(duì)象擴(kuò)展運(yùn)算符和rest運(yùn)算符
這篇文章主要介紹了詳解TS對(duì)象擴(kuò)展運(yùn)算符和rest運(yùn)算符,對(duì)TypeScript感興趣的同學(xué),可以參考下2021-05-05
javascript中節(jié)點(diǎn)的最近的相關(guān)節(jié)點(diǎn)訪問方法
parentNode——父節(jié)點(diǎn);firstChild——第一個(gè)子節(jié)點(diǎn);lastChild——最后一個(gè)子節(jié)點(diǎn);previousSibling——緊挨著的前面的兄弟節(jié)點(diǎn);這樣就可以作短途旅行,訪問當(dāng)前節(jié)點(diǎn)的某些相關(guān)節(jié)點(diǎn),感興趣的你可以參考下哈2013-03-03
原生JS實(shí)現(xiàn)天氣預(yù)報(bào)
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)天氣預(yù)報(bào),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
小程序server請(qǐng)求微信服務(wù)器超時(shí)的解決方法
這篇文章主要介紹了小程序server請(qǐng)求微信服務(wù)器超時(shí)的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05

