微信小程序 词典代码_微信小程序省市区联动,自定义地区字典

const areaList=require('../../utils/arealist.js');

Page({

data: {

multiArray: [],

multiIndex: [0, 0, 0],

province:[]

},

bindMultiPickerChange: function (e) {

console.log('picker发送选择改变,携带值为', e.detail.value)this.setData({

multiIndex: e.detail.value

})

},

bindMultiPickerColumnChange: function (e) {

console.log('修改的列为', e.detail.column, ',值为', e.detail.value);var data ={

multiArray:this.data.multiArray,

multiIndex:this.data.multiIndex

};

data.multiIndex[e.detail.column]=e.detail.value;const provinceName=data.multiArray[0][data.multiIndex[0]];

let provinceId="";

let province= this.data.province;

let quyuList= [], cityList = [], provinceList=[],city=[],area=[];try{

province.forEach(item=>{if (item.name ===provinceName) {

provinceId=item.id;throw (new Error('find item'))

}

})

}catch(err) {

}

city= areaList.filter(item =>{return item.parentId ==provinceId;

})if (e.detail.column==0){

data.multiIndex=[e.detail.value,0,0];try{

area= areaList.filter(item =>{return item.parentId == city[data.multiIndex[1]].id;

})

}catch(err){}

}else if (e.detail.column == 1){

data.multiIndex[2]=0;

area= areaList.filter(item =>{return item.parentId ==city[e.detail.value].id;

})

}else{const cityName = data.multiArray[1][data.multiIndex[1]];

let cityId='';try{

areaList.forEach(item=>{if(item.name===cityName){

cityId=item.id;throw(new Error('find item'));

}

})

}catch(err){}

area=areaList.filter(item=>{return item.parentId==cityId;

})

}

provinceList= province.map(item =>{returnitem.name

})

cityList= city.map(item =>{returnitem.name;

})

quyuList= area.map(item =>{returnitem.name;

})

data.multiArray=[provinceList, cityList, quyuList],this.setData(data);

},

onLoad(){var province = [], city = [], area =[];

province=areaList.filter(item =>{return item.parentId == 0;

})

city= areaList.filter(item =>{return item.parentId == province[0].id;

})

area= areaList.filter(item =>{return item.parentId == city[0].id;

})var provinceList = province.map(item =>{returnitem.name

})var cityList = city.map(item =>{returnitem.name;

})var quyuList = area.map(item =>{returnitem.name;

})this.setData({

multiArray: [provinceList, cityList, quyuList],

province

})

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值