Uniapp省市区三级联动实现

uniapp 省市区三级联动

1先去插件市场下载插件

在这里插入图片描述
插件地址:点我前往
将他导入项目中

2.从自己的项目中引用

导入成功后 这个组件应该在这在这里插入图片描述
在自己要用到的页面引入它(我是vue3的语法 vue2怎么导入组件大家可以搜一下)在这里插入图片描述
对于插件里的属性值 大家在下载插件页面时 下面有作者的介绍 大家下滑就可以找到
在这里插入图片描述
然后这部分是我项目里的使用(如下)
在这里插入图片描述

参数我的理解
ref对应的就是显示 和隐藏 绑定的值应该为 true 或value
mode就是是否采用多级联动
list绑定对应的数据列表(这里要绑定对应的地址省市区的json文件 等会教大家怎么弄)
level就是你需要要几级联动 (我项目里就两级省市联动就行了所以填的2 )
prop修改json里对应的参数字段修改进行匹配 下面会讲
@confirm就是可以获取到你选择列表后的值 (并设置你控制组件显示的参数为true,这样就可以显示列表了)

(这些参数 在对应作者插件的下面有详细的介绍 我写方便自己和大家能看懂 )

省市区数据来源 点我前往

(因为你三级联动肯定要对应联动的数据 去下载) 点第一个
在这里插入图片描述

然后大家选择自己要几级联动 我是二级联动即可所以我选的它
在这里插入图片描述

貌似三级联动选择这个就行
在这里插入图片描述

3.大家把下载的json文件放在自己的项目里进行绑定(我用的Vue3语法 )

引入数据
在这里插入图片描述
绑定数据
在这里插入图片描述

注意注意注意!!!!还有重要的一步

因为作者封装组件的时候对应的省市区它是有对应的属性名的,我们下载的文件名字不一定对应的上
在这里插入图片描述

这里就要用到我们上面那个参数props 去把对应的省、市、区对应上

//这里左边是插件里的属性   右边是下载json文件里对应的属性名
	const myProps = {
		label: 'name',
		value: 'code',
		children: 'children'
	}

这样应该就可以联动了

接着就是获取到对应选择的数据了
在这里插入图片描述
@confirm 绑定的事件里可以去获取对应的参数

	//获取下拉的地址
	const getAdress = (res) => {
		//省名
		console.log(res.item[0].name)
		//市名
		console.log(res.item[1].name)
		//如果有区的话  区名
		console.log(res.item[2].name)
	}

这是我项目里的效果
在这里插入图片描述
希望大家可以轻松实现,大家一开始可以先去下载插件里的那个示例项目感受下,了解下这个组件大概怎么使用 后面上手应该就会快很多
如果有用的话 记得点个赞!!!

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: uniapp是一款跨平台的开发框架,可以让开发者使用Vue.js来开发iOS、Android、H5等多个平台的应用程序。要实现省市区三级联动功能,可以使用uniapp的picker选择器组件结合数据源来实现。 首先,需要准备好省市区的数据源。可以通过网络请求获取数据,也可以在本地定义一个JSON数据文件来存储省市区的信息。 然后,在页面中使用picker选择器组件来展示三级联动的效果。可以使用三个picker组件来分别展示省、市、区的选项,用户通过滑动选择器中的选项来进行选择。 在数据绑定方面,可以通过在data中定义一个变量来存储用户的选择结果。比如,可以定义一个数组变量selected来存储用户选择的省、市、区的信息。通过监听picker的change事件,在事件处理函数中更新selected数组的值。 最后,在页面中展示用户选择的结果。可以使用文本框等组件来展示省、市、区的信息,将selected数组中的值显示出来。 通过上述步骤,就可以实现uniapp省市区三级联动的功能。用户可以通过滑动选择器来选择省、市、区的选项,选择结果会实时更新并展示在页面上。 ### 回答2: uniapp是一款跨平台的开发框架,适用于开发微信小程序、App和H5页面。要实现省市区三级联动,可以采用uniapp的picker组件以及相关的数据处理方法。以下是实现的步骤: 1. 在页面的vue文件中,引入picker组件,并将其放置在需要选择省市区的位置。例如: ``` <template> <view> <picker :value="value" mode="multi-selector" @change="pickerChange"> <view class="picker">选择省市区</view> </picker> </view> </template> ``` 2. 在`data`中定义需要使用的数据,如省市区的数据源,以及选择结果的变量。例如: ``` data() { return { value: [], provinces: ['北京市', '上海市', '广东省', ...], cities: { '北京市': ['北京市'], '上海市': ['上海市'], '广东省': ['广州市', '深圳市', '珠海市', ...], ... }, areas: { '北京市': { '北京市': ['东城区', '西城区', '朝阳区', ...], ... }, '上海市': { '上海市': ['黄浦区', '徐汇区', '长宁区', ...], ... }, ... } }; }, ``` 3. 在`methods`中定义选择器的change事件处理函数,用来更新选择结果的变量。例如: ``` methods: { pickerChange(e) { const value = e.detail.value; const province = this.provinces[value[0]]; const city = this.cities[province][value[1]]; const area = this.areas[province][city][value[2]]; this.value = value; console.log('选择结果:', province, city, area); // 可以在此处理选择结果,如发送请求获取相应的数据等 }, } ``` 以上就是使用uniapp实现省市区三级联动的基本步骤。利用picker组件和相应的数据处理方法,可以实现用户选择省市区的功能,并获取相应的选择结果,方便后续的数据处理和操作。 ### 回答3: Uniapp是一种基于Vue框架的跨平台开发工具,可以方便快捷地开发出同时适用于多个平台的应用程序。要实现省市区三级联动功能,可以通过以下步骤来完成。 首先,我们需要准备好省市区的数据。可以在后端提供接口获取到省市区的数据,然后将数据存储到前端的数据源中。 然后,在前端的页面中布局好三个级别的选择框,用于显示省市区的选择结果。 接着,需要为每个选择框绑定一个change事件,在选择框的change事件中根据选择的值,动态更新下一级选择框的选项。 具体的实现方式是,当省选择框的值发生改变时,根据选择的省份,在数据源中找到对应的市的数据,并更新市选择框的选项。当市选择框的值发生改变时,根据选择的市,再次在数据源中找到对应的区的数据,并更新区选择框的选项。 最后,当三个选择框的值都确定之后,就可以得到最终的选择结果,可以将结果保存到数据源中,或者作为参数传递给后端接口进行相应的操作。 总结起来,实现uniapp省市区三级联动的过程包括准备数据、布局页面、绑定change事件和更新选项。通过这样的实现,用户可以方便地选择省市区信息,并进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值