iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue如何实现省市区三级联动el-select组件
  • 496
分享到

Vue如何实现省市区三级联动el-select组件

2023-07-05 04:07:36 496人浏览 安东尼
摘要

这篇文章主要介绍“Vue如何实现省市区三级联动el-select组件”,在日常操作中,相信很多人在Vue如何实现省市区三级联动el-select组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vu

这篇文章主要介绍“Vue如何实现省市区三级联动el-select组件”,在日常操作中,相信很多人在Vue如何实现省市区三级联动el-select组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue如何实现省市区三级联动el-select组件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一 自定义组件

1 位置

Vue如何实现省市区三级联动el-select组件

2 代码

<template>  <div class="areaSelect flex">    <!-- 省选择框 -->    <el-select      filterable      :disabled="disabled"      v-model="province"      :size="size"      placeholder="省"      @change="changeCode($event,0)">      <el-option        v-for="item in provinceList"        :key="item.value"        :label="item.label"        :value="item.value">      </el-option>    </el-select>    <!-- 市选择框 -->    <el-select      filterable      :disabled="disabled"      class="center_select"      v-model="city"      placeholder="市"      @change="changeCode($event,1)">      <el-option        v-for="item in cityList"        :key="item.value"        :label="item.label"        :value="item.value">      </el-option>    </el-select>    <!-- 区选择框 -->    <el-select      filterable      :disabled="disabled"      v-model="area"      placeholder="区"      @change="changeCode($event,2)">      <el-option        v-for="item in areaList"        :key="item.value"        :label="item.label"        :value="item.value">      </el-option>    </el-select>  </div></template><script>  export default {    name: 'regionSelect',    props: {      size: '',      disabled: {        size: String,        type: Boolean,        default: false      },      code: {        type: Object,        default: () => {          return {            areaCode: '',            areaName: '',            cityCode: '',            cityName: '',            provinceCode: '',            provinceName: ''          }        }      }    },    data () {      return {        province: '',        city: '',        area: '',        provinceList: [],        cityList: [],        areaList: []      }    },    watch: {      code (val) {        if (val.areaName && val.areaName !== '') {          this.province = val.provinceCode          this.city = val.cityCode          this.area = val.areaCode          this.provinceCity(val.provinceCode)          this.cityArea(val.cityCode)        } else {          this.cityList = []          this.areaList = []        }      }    },    mounted () {      if (this.code.areaName && this.code.areaName !== '') {        this.province = this.code.provinceCode        this.city = this.code.cityCode        this.area = this.code.areaCode        this.provinceCity(this.code.provinceCode)        this.cityArea(this.code.cityCode)      }      this.getProvince()    },    methods: {      resetArea () {        this.province = ''        this.city = ''        this.area = ''      },      // 当 type == 0 ,data 表示省编码      // 当 type == 1 ,data 表示市编码      changeCode (data, type) {        if (type === 0) {          this.city = ''          this.area = ''          this.provinceCity(data)        }        if (type === 1) {          this.area = ''          this.cityArea(data)        }        if (this.province !== '' && this.city !== '' && this.area !== '') {          this.$emit(            'code', [{              code: this.province,              name: this.provinceList.find(                (val) => val.value === this.province              ).label            }, {              code: this.city,              name: this.cityList.find(                (val) => val.value === this.city              ).label            }, {              code: this.area,              name: this.areaList.find(                (val) => val.value === this.area              ).label            }]          )        }      },      // 从后台获得省数据列表      async getProvince () {        let result = []        let url = '/base/division/provinceList'        let data = await this.$Http.get(url)        data.data.data.map((item) => {          result.push({            label: item.name,            value: item.code          })        })        this.provinceList = result      },      // 依据省编码获得市数据列表      async provinceCity (code) {        let result = []        let url = '/base/division/cityList'        let data = await this.$http({          url: url,          method: 'get',          params: {            provinceCode: code          }        })          data.data.data.map((item) => {          result.push({            label: item.name,            value: item.code          })        })        this.cityList = result      },      // 依据市编码获得区数据列表      async cityArea (code) {        let url = '/base/division/districtList'        let data = await this.$http({          url: url,          method: 'get',          params: {            cityCode: code          }        })        let result = []        data.data.data.map((item) => {          result.push({            label: item.name,            value: item.code          })        })        this.areaList = result      }    }  }</script><style>  .center_select {    margin: 0 10px;  }    .global_fORM .areaSelect {    width: 70%;  }    .global_form .areaSelect .el-select {    width: 33.33%;  }</style>

二 main.js 配置

// 行政区划三级选择import RegionSelect from './components/regionSelect'// 行政区划三级选择Vue.use(RegionSelect)// 行政区划三级选择Vue.component('regionSelect', RegionSelect)

三 使用方法

1 结构部分

<regionSelect  :code="item.value"  :disabled="item.disabled"  :size="layout.size"  @code="changeCode($event,item.prop)"  v-if="item.type==='region'"  ref="selectArea"></regionSelect>

2 代码部分

searchForm: {  province: '', // 省  city: '', // 市  district: '' // 区},item: { // 省市区 select 自定义组件传参部分  value: '',  type: 'region',  disabled: false},layout: { // 选择框样式,用于传参  size: ''},

3 样式部分

// 省市区选择框改变时,传递出来已选择的值changeCode (data, prop) {  this.searchForm.province = data[0].name  this.searchForm.city = data[1].name  this.searchForm.district = data[2].name},// 重置选择框resetForm () {  this.$refs.selectArea[0].resetArea()  // 清除省市区}

测试

1 级联选择

Vue如何实现省市区三级联动el-select组件

2 观察数据

Vue如何实现省市区三级联动el-select组件

到此,关于“Vue如何实现省市区三级联动el-select组件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Vue如何实现省市区三级联动el-select组件

本文链接: https://www.lsjlt.com/news/349423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue如何实现省市区三级联动el-select组件
    这篇文章主要介绍“Vue如何实现省市区三级联动el-select组件”,在日常操作中,相信很多人在Vue如何实现省市区三级联动el-select组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vu...
    99+
    2023-07-05
  • java实现省市区三级联动
    本文实例为大家分享了java实现省市区三级联动的具体代码,供大家参考,具体内容如下 我搭建的是SSM 框架: 一、实现三级联动 以省市区为例:我的想法很简单 ,可能想的有点少,首先遍...
    99+
    2022-11-13
  • Ajax实现省市区三级联动
    目录需要的jar包:数据库代码:省:市:区:页面展示代码:DBHelper类:总结需要的jar包: 数据库代码: create database school charact...
    99+
    2022-11-12
  • js实现省市区三级联动非select下拉框版
    在网上搜三级联动发现都是用option写的,突发奇想用其他方式写了一个,自我感觉效果还不错,大家感兴趣的可以看看,不说废话,大家看效果 代码如下,小白写的有点乱,大家想看的就看...
    99+
    2022-11-12
  • Ajax如何实现省市区三级级联
    这篇文章主要介绍Ajax如何实现省市区三级级联,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现Ajax实现省市区三级级联,需要Java解析json技术 整体Demo下载地址如下: 点我下载address.html&...
    99+
    2023-06-08
  • 利用级联选择器实现省市区三级联动【vue + elementUI Plus | uViewUI】
    文章目录 准备数据vue + ElementUI Plus 利用级联选择器实现省市区三级联动学习记录具体代码 vue + uViewUI 利用选择器多列联动实现省市区三级联动 (uniapp学习记录具体代码 准备数据 ...
    99+
    2023-08-19
    vue.js elementui javascript 小程序 前端
  • vue中怎么实现省市区三联动下拉选择组件
    这篇文章给大家分享的是有关vue中怎么实现省市区三联动下拉选择组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先来看一下最终的效果(没有写太多的样式...)组件所需要的省市区...
    99+
    2022-10-19
  • Ajax实现省市区三级联动实例代码
    html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF...
    99+
    2022-11-13
  • Vue使用distpicker插件实现省市级下拉框三级联动
    目录前言安装distpicker引用并注册distpicker使用distpicker移动端适配美化样式取值总结前言 这几天做项目,想着用一个全国省市区插件,之前就知道有几种,比如通...
    99+
    2023-02-22
    Vue省市级下拉框三级联动 Vue使用distpicker插件 vue三级联动
  • AJAX和WebService如何实现省市县三级联动
    小编给大家分享一下AJAX和WebService如何实现省市县三级联动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • Vue怎么使用distpicker插件实现省市级下拉框三级联动
    本篇内容介绍了“Vue怎么使用distpicker插件实现省市级下拉框三级联动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装distpi...
    99+
    2023-07-05
  • ajax如何实现无刷新省市县三级联动
    这篇文章主要介绍“ajax如何实现无刷新省市县三级联动”,在日常操作中,相信很多人在ajax如何实现无刷新省市县三级联动问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ajax如何实现无刷新省市县三级联动”的疑...
    99+
    2023-06-08
  • Vue如何实现省市区级联下拉选择框
    这篇文章将为大家详细讲解有关Vue如何实现省市区级联下拉选择框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下以(Vue下拉选择框Select组件二)为基础实现省市区级联下拉选择框组件...
    99+
    2023-06-29
  • Android省市区三级联动控件使用方法实例讲解
     最近有需求需要实现省市区三级联动,但是发现之前的实现不够灵活,自己做了一些优化。为了方便以后使用,抽离出来放在了github上WheelView。同时把其核心库放在了JCen...
    99+
    2022-06-06
    方法 级联 Android
  • 如何用jquery实现省市区联动
    本篇内容介绍了“如何用jquery实现省市区联动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • vue基于element-china-area-data插件实现省市区联动
    目录前言安装代码样例案例省市二级联动(不带“全部”选项):省市二级联动(带“全部”选项):省市三级联动(不带“全部&rdq...
    99+
    2022-11-13
  • Bootstrap如何实现城市三级联动
    这篇文章主要为大家展示了“Bootstrap如何实现城市三级联动”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Bootstrap如何实现城市三级联动”这篇文章吧...
    99+
    2022-10-19
  • 如何实现AJAX下拉框省、市二级联动
    本篇内容介绍了“如何实现AJAX下拉框省、市二级联动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jsp页...
    99+
    2022-10-19
  • vue基于element-china-area-data插件怎么实现省市区联动
    本篇内容主要讲解“vue基于element-china-area-data插件怎么实现省市区联动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue基于element-china-area-da...
    99+
    2023-06-30
  • layui中如何实现地区三级联动form select渲染
    这篇文章将为大家详细讲解有关layui中如何实现地区三级联动form select渲染,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如下所示:html<!--&nb...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作