基于mint-ui的城市选择3级联动

1、实际效果
地址三级联动 mint-ui picker.png
2、首先你需要去下载一个包含中国省份,城市,区县的数据
如下:
https://github.com/artiely/Administrative-divisions-of-China(里面包含二级联动数据,三级联动数据,四级联动数据等,找到自己需要的)

https://github.com/modood/Administrative-divisions-of-China
(一个更好的中国地区数据,推荐用这个

3、具体代码
主要是用到了mint-ui的picker组件,关于mint-ui的使用就自行看官网

Ⅰ 、html组件

<template><div><mt-picker :slots="myAddressSlots" @change="onMyAddressChange"></mt-picker><p>地址3级联动:{{ myAddressProvince }} {{ myAddressCity }}{{ myAddresscounty }}</p></div>
</template>

Ⅱ 、组件方法

<script>
import { Picker } from "mint-ui";
import myaddress from "../assets/address3.json"; //引入省市区数据
console.log(myaddress);export default {name: "",components: {"mt-picker": Picker},props: {},data() {return {myAddressSlots: [// 省{flex: 1,defaultIndex: 1,values: Object.keys(myaddress), //省份数组className: "slot1",textAlign: "center"},{divider: true,content: "-",className: "slot2"},// 市{flex: 1,values: [],className: "slot3",textAlign: "center"},{divider: true,content: "-",className: "slot4"},// 区{flex: 1,values: [],className: "slot5",textAlign: "center"}],myAddressProvince: "省",myAddressCity: "市",myAddresscounty: "区/县"};},created() {},methods: {onMyAddressChange(picker, values) {console.log(picker, values);if (myaddress[values[0]]) {//这个判断类似于v-if的效果(可以不加,但是vue会报错,很不爽)picker.setSlotValues(1, Object.keys(myaddress[values[0]])); //  Object.keys()会返回一个数组,当前省的数组picker.setSlotValues(2, myaddress[values[0]][values[1]]); //  区/县数据就是一个数组console.log("省", picker.getSlotValues(0), picker.getSlotValue(0));console.log("市", picker.getSlotValues(1), picker.getSlotValue(1));console.log("区/县", picker.getSlotValues(2), picker.getSlotValue(2));console.log(picker.getValues());this.myAddressProvince = values[0];this.myAddressCity = values[1];this.myAddresscounty = values[2];}}},mounted() {this.$nextTick(() => {//vue里面全部加载好了再执行的函数   (类似于setTimeout)this.myAddressSlots[0].defaultIndex = 0;// 这里的值需要和 data里面 defaultIndex 的值不一样才能够初始化//因为我没有看过源码(我猜测是因为数据没有改变,不会触发更新)});}
};
</script>

picker 中的方法

method: {slotValueChange () {}, // 触发 picker 的 change 事件getSlot (slotIndex) {}, // 过去某一列 slotgetSlotValue (index) {}, // 获取某一列 slot 的当前值setSlotValue (index, value) {}, // 设置某一列 slot 的当前值getSlotValues (index) {}, // 获取 slot 的 valuessetSlotValues (index, values) {}, // 设置 slot 的 valuesgetValues () {}, // 获取多个组件合成的值setValues (values) {} // 同时设置多列 slot 的值
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS之检索子字符串的search方法

作用&#xff1a;search() 方法用于检索字符串中指定的子字符串&#xff0c;或检索与正则表达式相匹配的子字符串 语法&#xff1a;stringObject.search(regexp) 参数&#xff1a;该参数可以是需要在 stringObject 中检索的子串&#xff0c;也可以是需要检索的 RegExp 对象。…

React开发(122):动态表头核心配置 外层绑定key

Object.keys()的用法 作用&#xff1a;遍历对象 返回结果&#xff1a;返回对象中每一项key的数组 // 1. 定义一个对象var obj { 0:大,1:二,2:光强 }// 2. 使用Object.keys()方法var keyValue Object.keys(obj)// 3. 打印结果console.log(keyValue) // 得到是&#xff1a;[&q…

一个很有深度的C++内存问题---GDB调试(一)

先看代码(a.c)&#xff1a; #include <stdio.h>int main(int argc, char* argv[]){int a[4]{1,2,3,4};int *ptr1(int*)(&a1);int *ptr2(int*)((int)a1);int *ptr3(int*)(a1);printf("a %x, &a %x, &a1 %x, (int)a1 %x\n", a, &a, &a1…

咬文嚼字——1

看点&#xff1a;作者王琦 勘误&#xff1a;张琦等编著 出处&#xff1a;永正网上购书中心 [url]http://www.erbook.com.cn/list.asp?sp_code9787121067921[/url] 《案例精解企业级网络构建》六位主创人员博客地址&#xff1a; 张琦&#xff1a; [url]http://zhangqi.blog.51…

HTML DOM之属性的各种操作方法

1.element.getAttribute(attributename)方法用来返回指定属性名的属性值&#xff0c;返回的类型是字符串类型 2.element.getAttributeNode(attributename)方法从当前元素节点(nodeType值为1的节点)element中通过名称获取属性节点(nodeType值为2的节点)&#xff0c;返回值是指定…

input框在ios中的阴影问题

在IOS下&#xff0c;input 和textarea表单默认会有个内阴影&#xff0c;一定程度上影响视觉一致&#xff0c;可通过设置下面代码去掉&#xff1a; input{ -webkit-appearance: none; }

React开发(123):ant design学习指南

// 表单组件<Form><Button><Input><InputNumber> //所有输入数字的地方要使用此组件 <Radio><Select><DatePicker><TreeSelect>// 数据展示|布局组件<Card><Tabs><Table>//反馈交互组件<Modal><…

40种网站设计常用方法

1. οncοntextmenu"window.event.returnValuefalse" --将彻底屏蔽鼠标右键<table border οncοntextmenureturn(false)><td>no</table> 可用于Table2. <body onselectstart"return false"> 取消选取、防止复制3. οnpaste"…

无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

一&#xff0c;问题描述 MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain16&#xff0c;该符号在函数 ___tmainCRTStartup 中被引用 Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令 error LNK2001: unresolved external symbol _WinM…

常见位操作:获取,设置,清零

1 /*常见位操作&#xff1a;获取&#xff0c;设置&#xff0c;清零2 * 3 * */4 public class BitGet {5 /*6 * 该函数实现获取功能7 * 先将1左移动i位&#xff0c;左移动0位变成了00000001&#xff0c;8 * 然后再和Num十进制12转化为二进制00001100进行&a…

CSS Grid布局(2)

6.间距 grid-column-gap和grid-row-gap属性用来创建列与列&#xff0c;行与行之间的间距 间距(Gap)可以设置任何非负值&#xff0c;长度值可以是px、%、em等单位值 grid-gap是grid-row-gap和grid-column-gap两个属性的缩写 如果它指定了两个值&#xff0c;那么第一个值是设置…

linux怎么使多条命令同时执行

一次执行多个bai命令可以将多个命令用du英文分号分割&#xff0c;比如像这样&#xff1a;zhi mkdir /tmp/mydir; touch /tmp/mydir/myfile 其实这样也倒不能算是同时执行&#xff0c;Linux的命令是顺序执行的&#xff0c;就算是shell脚本&#xff0c; 里面写了一大堆命令&#…

React开发(124):ant design学习指南之form中的属性isFieldTouched

没有值的时候返回提示的error 有值返回undefined

食品安全--牛奶和蛋白质浅谈

蛋白质才是牛奶中的主要营养成分&#xff0c;鲜牛奶的国家标准是100毫升≥2.95克&#xff0c;而纯正的生鲜牛奶的蛋白质含量一般在3&#xff05;以上&#xff0c;一般都能达到国家标准。 食品工业上检测牛奶蛋白质含量被定为国家标准的是凯氏定氮法。原理很简单&#xff1a;蛋白…

HDU 4990 Ordered Subsequence --数据结构优化DP

题意&#xff1a;给一串数字&#xff0c;问长度为m的严格上升子序列有多少个 解法&#xff1a;首先可以离散化为10000以内&#xff0c;再进行dp&#xff0c;令dp[i][j]为以第i个元素结尾的长度为j的上升子序列的个数&#xff0c; 则有dp[i][j] SUM(dp[k][j-1]) (a[k] < a[…

OpenGL 开发环境配置

From: http://www.cnblogs.com/kesalin/archive/2009/09/08/1562499.html OpenGL 下有一些重用的辅助库&#xff0c;比如glut,glee,glew等等&#xff0c;在windows平台下需要自己安装&#xff0c;因为微软为了推广自己的DX&#xff0c;在windows下只支持openGL 1.1版本。你可以…

CSS Grid布局(3)

10.网格线命名 通过grid-template-rows和grid-template-columns定义网格时&#xff0c;网格线可以被命名。网格线名称也可以设置网格项目位置 grid-template-rows和grid-template-columns定义你的网格&#xff0c;将名称分配给网格线 定义网格线名称时需要避免使用规范中出现…

main.js中的Vue.config.productionTip = false

开发模式&#xff1a;npm run dev是前端自己开发用的 生产模式&#xff1a;npm run build 打包之后给后端放在服务端上用的 Vue.config.productionTip false 1 上面这行代码的意思 是阻止显示生产模式的消息。 如果没有这行代码&#xff0c;或者设置为true&#xff0c;控制台就…