vue使用element级联选择器实现选择国内地址(到区县)

本方法是使用第三方库

1.下载全省市区的数据

npm install element-china-area-data -S
  • 如果使用vscode运行报错,就使用管理员打开cmd来到你前端对应的文件夹位置
  • 再次执行该命令

2.下载完成后导入使用

import {
  provinceAndCityData,
  pcTextArr,
  regionData,
  pcaTextArr,
  codeToText,
} from "element-china-area-data";

// provinceAndCityData:省市二级联动数据,汉字+code
// regionData:省市区三级联动数据
// pcTextArr:省市联动数据,纯汉字
// pcaTextArr:省市区联动数据,纯汉字
// codeToText:是个大对象,属性是区域码,属性值是汉字 用法例如:codeToText[‘110000’]输出北京市

  • 可按需引用,也可全部引用

3.具体使用

  • 只需要注意return里的两个变量
  • 我使用的是纯汉字传入后端
export default {
  name: "Code",
  dicts: ['base_status'],
  data () {
    return {
      pcaTextArr,
      selectedOptions: [],
  • 表单导入使用
  • 我是在后端处理该数据的,所以v-model="form.addressArray"
        <el-form-item
          label="客户地址"
          prop="addressArray"
        >
          <template>
            <div id="app">
              <el-cascader
                size="large"
                :options="pcaTextArr"
                v-model="form.addressArray" // 前端处理请绑定selectedOptions
                clearable
              >
              </el-cascader>
            </div>
          </template>

        </el-form-item>
  • 格式:
    在这里插入图片描述

4.数据处理

传入后端的数据格式是数组

  • 比如["北京市","市辖区","东城区"]
  • 如果后端是字符串接该变量,就需要前端使用join方法处理你接收变量的数组selectedOptions
  • 如果后端实体类是用String[]接可以在后端使用String.join处理成字符串拼接,
  • 或者分为多个列(省、市、区列)的表分别插入

  • 我的处理方式,用addressArray接收,处理后放入address存入数据库
    在这里插入图片描述
    该组件体验链接:级联选择器
Vue级联选择器可以实现单项、二级和三级级联,甚至是多级级联。在web开发中,我们经常需要使用级联选择器来解决表单中的选择问题。根据引用,可以实现以下几种情况的级联选择器: 1. 单个级联:可以是下拉选择框或单选的形式。 2. 单个级联:可以是多项选择的形式。 3. 二级联动:例如省份和城市的级联选择。 4. 三级联动:例如省份、城市和区县的级联选择。 5. 多级级联:可以根据实际需求设置多级联动。 关于Vue级联选择器的具体实现使用方法,可以参考引用中关于element组件的级联选择器的说明。通过组件嵌套的方式,可以实现级联选择器的功能。同时,引用中提到了实现数据的绑定以组件的形式调用级联选择器的功能。 因此,如果你想实现Vue级联选择器的三级联动,可以按照上述引用内容的指导,使用Vue级联选择器组件进行实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于vue2.0实现级联选择器](https://download.csdn.net/download/weixin_38655987/14819357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [VUE教你实现element级联选择器 | 多级菜单](https://blog.csdn.net/qq_34119437/article/details/89474796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值