vue 集成行政区域选择插件region和数据回显

本文主要是介绍vue 集成行政区域选择插件region和数据回显,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

故事:最近,项目需要进行行政区域围栏的绘制,由于老旧项目是利用js保存全国行政区域地址和编码,在选择器select进行匹配显示,但此方法复杂,因此选择集成区域插件region

步骤一:用命令安装region插件(安装2.2.2版本)

npm i -S v-region@2.2.2 --force

步骤二:在项目全局文件 main.js或manage.js或其全局配置文件

import Vue from 'vue'
import Region from 'v-region'
Vue.use(Region)

步骤三:在页面/模块中使用行政区域选择插件

          <el-row><el-col :span="24"><!-- <v-region :town="true" type="group" v-model="region" @values="regionChange"></v-region> --><div class="postion"><v-region  v-model="region" @values="regionChange"></v-region></div></el-col></el-row>methods:{
// 切换地区regionChange(values) {let self=this;//回显let temp=values;values={};self.obj=temp;temp={};},
}

步骤四:数据保存和回显(亲身经历需要细化保存和回显步骤才正确保存和回显)注意,次数方法内data为步骤三保存的region对象this.obj

    <el-row><el-col :span="24" style="margin-left: -17.5%"><el-form-item label="选行政区域" :prop="'region'"><!-- <v-region :town="true" type="group" v-model="region"       @values="regionChange"></v-region> --><v-region  v-model="dataForm.region" @values="regionChange"></v-region></el-form-item></el-col></el-row>methods: {openDialog(data) {//data为数组,保存了已经选择的行政区域信息let self = this;     self.dataForm.region={province:'',city:'',area:'',town:''};self.dataForm.regionTemp=data;if(data.province!=null&&data.city==null&&data.area==null){self.dataForm.region.province = data.province&&data.province.key;}if(data.province!=null&&data.city!=null&&data.area==null){self.dataForm.region.province = data.province&&data.province.key;self.dataForm.region.city = data.city&&data.city.key;        }if(data.province!=null&&data.city!=null&&data.area!=null){self.dataForm.region.province = data.province&&data.province.key;self.dataForm.region.city = data.city&&data.city.key;self.dataForm.region.area =data.area&&data.area.key;        }},}

步骤五:步骤四回显行政区域后再次选择更新行政区域信息二次保存

methods:{// 切换地区regionChange(values) {let self=this;
//临时对象self.dataForm.regionTemp=values;},ok() {let self = this;self.$refs["dataForm"].validate((valid) => {if(valid){let regionTemp=data.regionTemp;if(regionTemp.province==null){self.$message({type: 'warning',message: '请选择行政区域',})return;}if(regionTemp.province!=null&&regionTemp.city==null&&regionTemp.area==null){data.params=regionTemp.province.value+'|'+regionTemp.province.key;}if(regionTemp.province!=null&&regionTemp.city!=null&&regionTemp.area==null){data.params=regionTemp.province.value+regionTemp.city.value+'|'+regionTemp.province.key+','+regionTemp.city.key;}if(regionTemp.province!=null&&regionTemp.city!=null&&regionTemp.area!=null){data.params=regionTemp.province.value+regionTemp.city.value+regionTemp.area.value+'|'+regionTemp.province.key+','+regionTemp.city.key+','+regionTemp.area.key;}self.$emit('fecne-modal-ok', data,self.administrationFenceModal.current.overlay)}})},
}

上面步骤五保存操作数据格式(例如:广东省广州市天河区|编码,编码,编码)是方便后台,具体保存数据样式更具自己实际情况。

具体更详细区域选择参考:Vue Components       

这篇关于vue 集成行政区域选择插件region和数据回显的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/487849

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

Spring Boot 集成 mybatis核心机制

《SpringBoot集成mybatis核心机制》这篇文章给大家介绍SpringBoot集成mybatis核心机制,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值... 目录Spring Boot浅析1.依赖管理(Starter POMs)2.自动配置(AutoConfigu

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p