uView 2.x三级联动

这篇博客介绍了一个Vue项目中如何利用组件<u-picker>实现省市区三级联动选择的功能。通过监听change事件,根据选择的省和市动态更新区的选择列表。涉及到的数据包括省、市、区的json文件,通过引入静态js文件来获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<u-picker 
	keyName="name"
	:show="show" 
	@cancel="show=false"
	ref="uPicker" 
	class="uPicker"
	:columns="columns" 
	@confirm="confirm" 
	@change="changeHandler"
	:defaultIndex="defaultarr"
>
						
 </u-picker>
import sheng from "@/static/common/js/sheng.js"
import shi from "@/static/common/js/shi.js"
import qu from "@/static/common/js/qu.js"
changeHandler(e) { //监听联动的操作
			    const {
			        columnIndex,
			        value,
			        values, // values为当前变化列的数组内容
			        indexs,
					picker = this.$refs.uPicker
			    } = e
				console.log(value)
				console.log(values)
				console.log(e)
				console.log(indexs)
			    if (columnIndex === 0) {
			        // picker为选择器this实例,变化第二列对应的选项
					// 注释 获取城市要有下标 
					// 而 一个对象的字符串 例:const aa ="1":[{name:"222"}] 
					// 获取需要 aaa["1"]对应 所以需要下面这样写
					// console.log(this.shi[value[0].code][indexs[1]].code)
					// console.log(this.shi[value[0].code][indexs[1]].code)
					picker.setColumnValues(1, this.shi[value[0].code])
					picker.setColumnValues(2,this.qu[this.shi[value[0].code][0].code])
			    }
				if (columnIndex === 1) {
					console.log(this.qu[this.shi[value[0].code][0].code])
					picker.setColumnValues(2,this.qu[this.shi[value[0].code][indexs[1]].code])
				}
			},

省市区地址json文件:https://gitee.com/gaohuazi/china_regions?_from=gitee_search

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端代码の搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值