Vue实现省市区级联选择器,使用Elementui的Cascader级联选择器获取label值

前言:项目中的收货地址需要使用到省市区级联选择器,选择的UI框架是 Element

效果图
在这里插入图片描述
获取到的数据
在这里插入图片描述
参考文档:
Element的Cascader 级联选择器
省市区等联动地址数据:收纳了很多数据

我使用的数据是 pca-code.json
在这里插入图片描述
代码部分:

<template>
	<el-cascader
		:options="options"
		ref="cascaderAddr"
		v-model="selectedOptions"
		@change="handleChange">
 	</el-cascader>
</template>

<script>
let pcas = require('../../../assets/pca-code.json')

export default {
    name: 'receiveAddress',
    data() {
        return {
            options: pcas,
            selectedOptions: [],
      },
    methods: {
        // 获取省市区地址级联
        handleChange(e, form, thsAreaCode) {
            thsAreaCode = this.$refs['cascaderAddr'].getCheckedNodes()[0].pathLabels// 注意2: 获取label值
            console.log(thsAreaCode) // 注意3: 最终结果是个一维数组对象
            console.log(thsAreaCode[0] + thsAreaCode[1] + thsAreaCode[2])
        },
    },
}
</script>

注意:
(1)获取 value 的值 Element 文档有介绍,这里获取的是 label 的值。
(2)下载下来的 pca-code.json 数据的数据是 code、name、children,而 Element 的级联选择器对应的数据是 value、label、children,所以我对 pca-code.json 数据做了一个全局替换单词,将 code -> valuename -> label

我使用的记事本(编辑->替换->全部替换)做的全局替换<囧>本来想用 VS code 做替换的,结果数据太长超过限制莫法。。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值