uniapp微信小程序picker地区选择自定义数据

本文介绍了一个使用 Vue 开发的动态地址选择器,通过picker组件实现多级联动,当用户在省级、市级或区级中选择时,地址实时更新。通过API请求动态加载不同级别的地区数据,并详细展示了 provinceList 的管理和联动方法。
摘要由CSDN通过智能技术生成
<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;
			},

}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值