<picker @change="bindPickerChange" @columnchange="bindColumnchange" mode="multiSelector" :value="multiIndex" :range="[provinceList1,provinceList2,provinceList3]" :range-key="'regionName'">
<view> {{Address}} </view>
</picker>
data(){
return{
Address:"请选择地址",
multiIndex:[0,0,0],
provinceList1:[],
provinceList2:[],
provinceList3:[]
}
},
methods:{
bindColumnchange(e){
var ind = e.detail.value; //当前选中的下标 e.detail.column当前是第几列
var _this = this;
if(e.detail.column == 0){ //当第一列选中数据发生变化时,更新第二列和第三列数据
urlRequestWithToken('后台地址',{regionId:_this.provinceList1[ind].regionId},"POST",function(res){
if(res.code == 200){
_this.provinceList2 = res.data.regionList;
urlRequestWithToken('后台地址',{regionId:_this.provinceList2[0].regionId},"POST",function(res){
if(res.code == 200){
_this.provinceList3 = res.data.regionList;
}
})
}
})
}else if(e.detail.column == 1){ //当第二列选中数据发生变化时,更新第三列数据
urlRequestWithToken('后台地址',{regionId:_this.provinceList2[ind].regionId},"POST",function(res){
if(res.code == 200){
_this.provinceList3 = res.data.regionList;
}
})
}
},
bindPickerChange(e){
this.Address = this.provinceList1[e.detail.value[0]].regionName+" "+ this.provinceList2[e.detail.value[1]].regionName+" "+this.provinceList3[e.detail.value[2]].regionName;
},
}
uniapp微信小程序picker地区选择自定义数据
最新推荐文章于 2024-10-17 21:22:01 发布
本文介绍了一个使用 Vue 开发的动态地址选择器,通过picker组件实现多级联动,当用户在省级、市级或区级中选择时,地址实时更新。通过API请求动态加载不同级别的地区数据,并详细展示了 provinceList 的管理和联动方法。
摘要由CSDN通过智能技术生成