使用elementUI制作三级级联城市选择器

1.效果预览:

2.引入资源文件

1.vue资源

<script src="https://unpkg.com/vue/dist/vue.js"></script>

2.elementUI资源

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

3.city-data.js资源

地址:https://github.com/Ele-Cat/Ele-Cat.github.io/edit/master/city-data.js

3.业务代码

1.html代码

<div id="app">
  <el-cascader :options="CityInfo" v-model="form.selectedOptions" :change-on-select="true" :clearable="true" :filterable="true" @change="handleChange">
  </el-cascader>
  <span>所选地区:{{form.city | myAddressCity}}{{form.area | myAddressArea}}{{form.minarea | myAddressMinarea}}</span>
</div>

2.js代码

 1     const app = new Vue({
 2       el: ‘#app‘,
 3       data: {
 4         CityInfo: CityInfo,
 5         form: {
 6           city: ‘‘,
 7           area: ‘‘,
 8           minarea: ‘‘,
 9           selectedOptions: [],//地区筛选数组
10         },
11       },
12       created() {
13       },
14       methods: {
15         handleChange(value) {
16           this.form.city = this.form.selectedOptions[0];
17           this.form.area = this.form.selectedOptions[1]
18           this.form.minarea = this.form.selectedOptions[2]
19         },20    },
20       filters: {
21         myAddressCity: function (value) {
22           for (y in this.CityInfo) {
23             if (this.CityInfo[y].value == value) {
24               return value = this.CityInfo[y].label
25             }
26           }
27         },
28         myAddressArea: function (value) {
29           for (y in this.CityInfo) {
30             for (z in this.CityInfo[y].children) {
31               if (this.CityInfo[y].children[z].value == value && value != undefined) {
32                 return value = this.CityInfo[y].children[z].label;
33               }
34             }
35           }
36         },
37         myAddressMinarea: function (value) {
38           for (y in this.CityInfo) {
39             for (z in this.CityInfo[y].children) {
40               for (i in this.CityInfo[y].children[z].children) {
41                 if (this.CityInfo[y].children[z].children[i].value == value && value != undefined) {
42                   return value = this.CityInfo[y].children[z].children[i].label
43                 }
44               }
45             }
46           }
47         },
48       },
49     })

制作完成,其他更多用法参考官网:http://element-cn.eleme.io/#/zh-CN/component/cascader

后记1:在<el-cascader>标签中添加expand-trigger="hover"即可实现hover触发

后记2:在city-data.js中删除第三级地区,就可以实现省市二级联动.

原文地址:https://www.cnblogs.com/e-cat/p/9724753.html

时间: 2024-10-09 08:54:52

使用elementUI制作三级级联城市选择器的相关文章

ElementUI 之 Cascader 级联选择器指定 value label

ElementUI 的 Cascader 级联选择器个人觉得很好用,但是对 :options="options" 里的数据格式是有特定要求的:input 框显示的值是 options 里的 label 值.如果 options 的键值对不是 value label ,就需要 props 来配置. 如何配置 value label? <el-cascader v-model="data" :options="options" placehol

swift3.0 三级联动UIPickerView城市选择器

初学swift没几天,就试着自己写了一个城市选择器,纯swift代码. ViewController.swift文件中: // // ViewController.swift // swift demo - UIPickerView之城市选择器 // // Created by 柯其谱 on 17/3/11. // Copyright ? 2017年 柯其谱. All rights reserved. // import UIKit //MARK: View life cycle class V

hotCity 小程序城市选择器, 城市数据库可自己导出

hotCity 城市选择器, 城市数据库可自己导出 后台数据API 由HotApp小程序统计提供并维护,如果需要导出并部署在公司的生产环境,最后有SQL导出下载地址 开源地址 https://github.com/hotapp888/hotcity 使用方法 复制pages/district到你的项目目录 把样式文件district.wxss引入到您调用本插件的作用域 @import "你的路径/district/wxParse.wxss"; 在需要使用的模版的x.wxml中引入模版文

IOS开发之自制城市选择器(省份+城市+区/县城)(storyboard版)

第一步:新建single工程CitySelectedDemo 第二步:导入资源area.plist(千万勾选copy选项,后面附area.plist文件资源) 第三步:设计mian.storyboard ——>拖拽UITextField控件(运行后点击此输入框会弹出选择器,选择我们想要的城市地址后结果显示在输入框中): ——>拖拽Toolbar控件和UIPickerView控件组成城市选择器:(将Toolbar控件的Item更名为“完成”,将来点击“完成”按钮结束地址的选择,如果“完成”按钮在

zTree实现地市县三级级联报错(三)

zTree实现地市县三级级联报错(三) 1.详细报错例如以下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 2014-5-11 22:37:22 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Nat

zTree实现地市县三级级联DAO接口

ProvinceDao.java: /** * @Title:ProvinceDao.java * @Package:com.gwtjs.dao * @Description:省份地市县级三级级联DAO接口 * @author:Youhaidong(游海东) * @date:2014-5-10 下午10:39:21 * @version V1.0 */ package com.gwtjs.dao; import java.util.List; import com.gwtjs.model.Pro

zTree实现地市县三级级联DAO接口实现

ProvinceDaoImpl.java: /** * @Title:ProvinceDaoImpl.java * @Package:com.gwtjs.dao.impl * @Description:省份地市县级三级级联DAO接口实现 * @author:Youhaidong(游海东) * @date:2014-5-10 下午10:40:35 * @version V1.0 */ package com.gwtjs.dao.impl; import java.util.ArrayList; i

zTree实现地市县三级级联DAO接口测试

ProvinceDaoTest.java: /** * @Title:ProvinceDaoTest.java * @Package:com.gwtjs.dao * @Description:省份地市县级三级级联DAO接口测试 * @author:Youhaidong(游海东) * @date:2014-5-10 下午11:13:43 * @version V1.0 */ package com.gwtjs.dao; import static org.junit.Assert.assertNo

zTree实现地市县三级级联Service接口

ProvinceService.java: /** * @Title:ProvinceService.java * @Package:com.gwtjs.service * @Description:省份地市县级三级级联Service接口 * @author:Youhaidong(游海东) * @date:2014-5-11 上午12:16:58 * @version V1.0 */ package com.gwtjs.service; import java.util.List; import