当前位置: 首页 > news >正文

在 Vue 项目中使用地区级联选

在 Vue 项目中使用地区级联选择的完整流程:

1.安装依赖包,这个包提供了中国省市区的完整数据。

npm install element-china-area-data --save

 2.导入数据

import { regionData } from 'element-china-area-data'

这个包提供了几种不同的数据格式:

  • regionData: 省市区三级联动数据
  • provinceAndCityData: 省市二级联动数据

3.数据格式说明

// regionData 的数据结构

[

  {

    value: '110000',    // 地区编码

    label: '北京市',    // 地区名称

    children: [         // 子地区

      {

        value: '110100',

        label: '北京市',

        children: [

          {

            value: '110101',

            label: '东城区'

          }

          // ... 其他区

        ]

      }

    ]

  }

  // ... 其他省份

]

 4.在模板中使用级联选择器

<el-form-item label="所在地区" prop="location"><el-cascaderv-model="registerForm.location":options="locationOptions"placeholder="请选择所在地区":props="{value: 'value',    // 指定选项的值为选项对象的 value 属性label: 'label',    // 指定选项标签为选项对象的 label 属性children: 'children'// 指定选项的子选项为选项对象的 children 属性}"style="width: 100%"/>
</el-form-item>

5.在 setup 中定义数据

const registerForm = ref({location: []  // 用于存储选择的地区编码数组
})// 在 return 中返回数据
return {locationOptions: regionData,  // 地区数据registerForm
}

6.处理选择的数据

const handleRegister = async () => {// location 数组中包含了选择的地区编码// 例如:['110000', '110100', '110101'] 表示 北京市/北京市/东城区const locationText = registerForm.value.location.join('/')// 发送到后端的数据const registerData = {// ... 其他数据company: {location: locationText,  // 转换成文本格式:'110000/110100/110101'// ... 其他数据}}
}

7.添加表单验证

// area-data.js
export const customRegionData = [{value: 'region1',label: '地区1',children: [{value: 'city1',label: '城市1',children: [{value: 'district1',label: '区域1'}]}]}
]

8.效果图

http://www.lryc.cn/news/518938.html

相关文章:

  • 【简博士统计学习方法】第1章:1. 统计学习的定义与分类
  • 利用 Python 脚本批量创建空白 Markdown 笔记
  • 【Qt】C++11 Lambda表达式
  • 怎样提高服务器中的数据传输速度?
  • Vue 封装公告滚动
  • JVM实战—12.OOM的定位和解决
  • 【python翻译软件V1.0】
  • Spring Boot中的依赖注入是如何工作
  • ubuntu22.04 编译安装libvirt 10.x
  • [fastadmin] 第三十四篇 FastAdmin 商城模块标签使用详解
  • (2024,LLaVA-Bench (Wilder),LLaVA-NeXT,LLaMA3,Qwen-1.5,语言模型扩展)
  • IPEX-LLM开发项目过程中的技术总结和心得
  • HTTP/HTTPS ②-Cookie || Session || HTTP报头
  • 【软考】软件设计师
  • K8s Pod OOMKilled,监控却显示内存资源并未打满
  • C++ 原子变量
  • linux网络 | http结尾、理解长连接短链接与cookie
  • 金融项目实战 02|接口测试分析、设计以及实现
  • 二、智能体强化学习——深度强化学习核心算法
  • Mysql--架构篇--存储引擎InnoDB(内存结构,磁盘结构,存储结构,日志管理,锁机制,事务并发控制等)
  • JVM实战—13.OOM的生产案例
  • client-go 的 QPS 和 Burst 限速
  • 使用docker-compose安装Redis的主从+哨兵模式
  • 数据结构(Java版)第七期:LinkedList与链表(二)
  • ant-design-vue 1.X 通过id获取a-input组件失败
  • Flutter:吸顶效果
  • MATLAB语言的数据类型
  • priority_queue优先队列
  • HarmonyOS 鸿蒙Next 预览pdf文件
  • vscode开启调试模式,结合Delve调试器调试golang项目详细步骤