使用mint ui 的picker解决城市三级联动
<mt-popup v-model="popupVisible" position="bottom">
<div class="pop-btn">
<p @click="cancel()">取消</p>
<p @click="save()">确定</p>
</div>
<mt-picker :slots="slots" value-key="name" @change="changeCity"></mt-picker>
</mt-popup>
new Vue({
data(){
return(){
slots: [
{
flex: 1,
defaultIndex: 1,
values: [], //省份数组
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'
}
],
popupVisible:false,//是否显示popup弹出层
}
}
methods:{
//城市的picker改变时调用
changeCity(picker, values) {
if (values[0]) {
picker.setSlotValues(1, Object.keys(this.pca[values[0]]));//只要有一级数据就绑二级数据
picker.setSlotValues(2, this.pca[values[0]][values[1]]);//只要有二级数据就帮三级数据
this.selectAddress = values;
}
},
//获取城市数据
_getCityData() {
$.ajax({
url: '/static/json/pca.json',
type: 'get',
success: function (res) {
vm.pca = res;
vm.slots[0].values = Object.keys(res);//绑定一级数据
}
});
}
},
mounted() {
this._getCityData();
}
})
城市数据地址 github:https://github.com/artiely/Administrative-divisions-of-China
城市数据地址 码云:https://gitee.com/yagerya/Administrative-divisions-of-China
使用mint ui 的picker解决城市三级联动的更多相关文章
- 全国城市三级联动 html+js
全国城市三级联动,没有css,所以屏幕的自适应必须自己想办法,手机端慎用(最好不要用,因为有些我也说不出的展示问题). html页面 <!DOCTYPE html> <html> ...
- jquery 城市三级联动
js代码 /*城市三级联动 * @method cityChange * @param allProvince,allCity,allDistrict */ function cityChange(p ...
- 转: javascript实现全国城市三级联动菜单代码
<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...
- 城市三级联动 AJAX-原生js封装
话不多说我们先来一张效果图给大家看一下: html代码如下: <!DOCTYPE html><html lang="en"><head> < ...
- JS全国城市三级联动
HTML <select id="s_province" name="s_province"></select> <select ...
- vue 选城市三级联动
<div id="example"> <select v-model="prov"> <option v-for="op ...
- vue父组件获取子组件页面的数组 以城市三级联动为例
父组件调用子组件 <Cselect ref="registerAddress"></Cselect> import Cselect from '../../ ...
- vue 使用element-ui实现城市三级联动
<template> <div> <el-select v-model="prov" style="width:167px;margin-r ...
- vue城市三级联动组件 vue-area-linkage
Install the pkg with npm: // v5之前的版本 npm i --save vue-area-linkage // v5及之后的版本 npm i --save vue-area ...
随机推荐
- Linux 一键部署脚本
在当前路径下输入 chmod 777 脚本名 给脚本授权, 然后就可以执行脚本 ./脚本名 777 是最高权限,有读.写.执行权限:和属组用户和其他用户的读.写.执行权限. 其他权限分别是 -r ...
- noip训练 2018.10.22~2018.10.23
day1 100+100+0=200 T1 稍微比划一下,发现其实就是缩点双,然后区间最小值的和 T2 发现答案为原lis|+1|-1 对每个点做从前最长上升序列以及从后最长下降序列, 想了半个小时怎 ...
- 从零开始入门 K8s | Kubernetes 调度和资源管理
作者 | 子誉 蚂蚁金服高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词"入门",即可下载从零入门 K8s 系列文章 PPT. Kubernetes 调 ...
- zabbix监控部署
zabbix是一款开源的监控软件,下面来一起学习一下zabbix监控的部署吧 环境: 主机名 地址 系统 角色 tiandong 192.168.209.3 centos6.5 服务端 winter ...
- C++入门经典-例6.23-字符串数组赋值与string
1:代码如下: // 6.23.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #inc ...
- Java 实现 2的次幂表示
问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001. 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 ...
- iOS真机调试之免费预配(Free provisioning)
免费预配允许开发者在不加入Applec Developer Program的情况下,可以发布和测试App 注意:免费预配(Free Provisioning)与自动预配(Auto Provisioni ...
- MAMP 环境下安装Redis扩展
1. 下载对应版本的 php 源码,(当前使用版本是 php5.6.30 )版本号最后一位有点区别不影响链接:http://php.net/get/php-5.6.31.tar.bz2/from/a/ ...
- PHPstrom中关闭提示信息
设置里面搜索parameter name hints
- linux系统创建windows启动盘
平时工作中用到linux的操作命令较多,因此为了方便,就给电脑装了双系统,一般工作的时候,都选择进入linux系统.但是今天有件工作之外的事情需要解决下:创建一个windows启动盘.如果按照往常来说 ...
<mt-popup v-model="popupVisible" position="bottom">