vue和el-cascader选择地区3级联动

本文参考:element-china-area-data - npm

本文参考:http://t.csdnimg.cn/LL6Ax

1、安装组件依赖(默认是6.1.0版本,如果需要稳定下载5.02)

npm install element-china-area-data -S
npm install element-china-area-data@5.0.2 -S

2.使用 (以下使用6版本,直接选择纯中文的,若使用地域代码options:regionData)

注意:如果使用5.0.2版本  需要使用CodeToText 大写!!

import {
  regionData, // 省市区三级联动数据
  codeToText, // 这是6.1.0版本 5.0.2稳定版是CodeToText 小写的注意!
  pcaTextArr, // 省市区联动数据,纯汉字
  TextToCode, // 5.0.2可以使用 TextToCode['北京']
} from "element-china-area-data";

3、使用el-cascader标签

          <el-cascader
            style="width: 100%"
            :options="options"
            v-model="selectedOptions"
            @change="addressChoose"
          ></el-cascader>

4、data中定义元素

data(){
    return{
      options: pcaTextArr, // 省市区级联数据
      selectedOptions: [], // 选择的地区
    }
}

5、触发事件的函数方法

    /**省市区三级联动 */
    addressChoose(value) {
      console.log("##selectedOptions", value);
      this.form.purchaserArea = value[0] + "/" + value[1] + "/" + value[2];
      // 使用区域代码的时候
      // console.log(
      //   "省市区:",
      //   codeToText[value[0]],
      //   codeToText[value[1]],
      //   codeToText[value[2]]
      // );
    },

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue3是一种流行的JavaScript框架,而el-cascader是一个基于Vue级联选择器组件。结合Vue3和el-cascader可以很方便地实现省市区三级联功能。 首先,你需要在项目中安装Vue3和el-cascader。可以使用npm或者yarn进行安装。 接下来,在你的Vue组件中引入el-cascader组件,并在data中定义一个数组用于存储省市区数据。你可以通过接口请求或者本地数据来获取省市区数据。 然后,在模板中使用el-cascader组件,并将省市区数据绑定到el-cascader的options属性上。通过设置props属性,你可以指定级联选择器的显示文本和值的字段名。 最后,你需要监听el-cascader的change事件,在事件处理函数中获取选择的省市区数值,并进行相应的处理。 下面是一个简单的示例代码: ``` <template> <div> <el-cascader v-model="selectedValues" :options="options" :props="props" @change="handleCascaderChange" ></el-cascader> </div> </template> <script> import { ref } from 'vue'; export default { data() { return { selectedValues: [], // 存储选择的省市区数值 options: [], // 省市区数据 props: { value: 'value', // 值字段名 label: 'label', // 显示文本字段名 children: 'children' // 子级字段名 } }; }, mounted() { // 获取省市区数据,可以通过接口请求或者本地数据获取 this.options = [ { value: '1', label: '省份1', children: [ { value: '11', label: '城市1', children: [ { value: '111', label: '区域1' }, { value: '112', label: '区域2' } ] }, { value: '12', label: '城市2', children: [ { value: '121', label: '区域1' }, { value: '122', label: '区域2' } ] } ] }, // 其他省市区数据... ]; }, methods: { handleCascaderChange(value) { // 处理选择的省市区数值 console.log(value); } } }; </script> ``` 这样,你就可以实现省市区三级联功能了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值