uiapp省市联动

dqshow: false,
				columns: [
					[],
					[]
				],
				provincelist: []
<u-picker :show="dqshow" ref="uPicker" :columns="columns" @confirm="confirm" @change="changeHandler"
			keyName="name"></u-picker>
	xzdq() {
				this.dqshow = true;
			},
			getprovince() {
				province().then(res => {
					var list = res.data.rows
					this.provincelist = []
					list.forEach(item => {
						this.provincelist.push({
							name: item.provinceName,
							id: item.provinceCode
						})
					})
					this.columns[0] = this.provincelist
					this.$refs.uPicker.setColumnValues(0, this.provincelist)
					var parm = {
						provinceCode: this.provincelist[0].id
					}
					city(parm).then(res => {
						var city = res.data.data
						var newcity = []
						city.forEach(v => {
							newcity.push({
								name: v.cityName,
								id: v.cityCode
							})
						})
						this.columns[1] = newcity
						this.$refs.uPicker.setColumnValues(1, newcity)
					})
				})
			},
			changeHandler(e) {
				var that = this
				const {
					columnIndex,
					value,
					values, // values为当前变化列的数组内容
					index,
					// 微信小程序无法将picker实例传出来,只能通过ref操作
					picker = this.$refs.uPicker
				} = e
				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
				if (columnIndex === 0) {
					var parm = {
						provinceCode: value[0].id
					}
					// picker为选择器this实例,变化第二列对应的选项
					city(parm).then(res => {
						var city = res.data.data
						var newcity = []
						city.forEach(v => {
							newcity.push({
								name: v.cityName,
								id: v.cityCode
							})
						})
						picker.setColumnValues(1, newcity)
					})
				}
			},
			// 回调参数为包含columnIndex、value、values
			confirm(e) {
				this.form.province = e.value[0].name
				this.form.city = e.value[1].name
				this.form.diqu = this.form.province + '-' + this.form.city
				this.dqshow = false
			},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值