Mint-UI Picker组件的三级联动

HTML:

  1. <mt-picker :slots="slots" value-key="name" @change="onValuesChange"></mt-picker> 

JS:

  1. const address = [
  2. {
  3. "code": "001",
  4. "name": "省份1",
  5. "childs": [
  6. {
  7. "code": "001-1",
  8. "name": "城市1",
  9. "childs": [
  10. {
  11. "code": "001-1-1",
  12. "name": "城市1县城1"
  13. },
  14. {
  15. "code": "001-1-2",
  16. "name": "城市1县城2"
  17. }
  18. ]
  19. },
  20. {
  21. "code": "001-2",
  22. "name": "城市2",
  23. "childs": [
  24. {
  25. "code": "001-2-1",
  26. "name": "城市2县城1"
  27. },
  28. {
  29. "code": "001-2-2",
  30. "name": "城市2县城2"
  31. }
  32. ]
  33. }
  34. ]
  35. },
  36. {
  37. "code": "002",
  38. "name": "省份2",
  39. "childs": [
  40. {
  41. "code": "002-1",
  42. "name": "城市3",
  43. "childs": [
  44. {
  45. "code": "002-1-1",
  46. "name": "城市3县城1"
  47. },
  48. {
  49. "code": "002-1-2",
  50. "name": "城市3县城2"
  51. }
  52. ]
  53. },
  54. {
  55. "code": "002-2",
  56. "name": "城市4",
  57. "childs": [
  58. {
  59. "code": "002-2-1",
  60. "name": "城市4县城1"
  61. },
  62. {
  63. "code": "002-2-2",
  64. "name": "城市4县城2"
  65. }
  66. ]
  67. }
  68. ]
  69. },
  70. {
  71. "code": "003",
  72. "name": "省份3",
  73. "childs": [
  74. {
  75. "code": "003-1",
  76. "name": "城市5",
  77. "childs": [
  78. {
  79. "code": "003-1-1",
  80. "name": "城市5县城1"
  81. },
  82. {
  83. "code": "003-1-2",
  84. "name": "城市5县城2"
  85. }
  86. ]
  87. },
  88. {
  89. "code": "003-2",
  90. "name": "城市6",
  91. "childs": [
  92. {
  93. "code": "003-2-1",
  94. "name": "城市6县城1"
  95. },
  96. {
  97. "code": "003-2-2",
  98. "name": "城市6县城2"
  99. }
  100. ]
  101. }
  102. ]
  103. },
  104. ];
  1. export default {
  2. name: 'app',
  3. data () {
  4. return {
  5. myAdress:null,
  6. slots: [
  7. {
  8. flex: 1,
  9. values: address,
  10. defaultIndex:10,
  11. className: 'slot1',
  12. textAlign: 'right'
  13. }, {
  14. divider: true,
  15. content: '-',
  16. className: 'slot2'
  17. }, {
  18. flex: 1,
  19. values: address[0].childs,
  20. defaultIndex:0,
  21. className: 'slot3',
  22. textAlign: 'left'
  23. }, {
  24. divider: true,
  25. content: '-',
  26. className: 'slot4'
  27. }, {
  28. flex: 1,
  29. values: address[0].childs[0].childs,
  30. defaultIndex:0,
  31. className: 'slot5',
  32. textAlign: 'left'
  33. }
  34. ]
  35. }
  36. },
  37. methods: {
  38. onValuesChange(picker, values) {
  39. if(!values[0]){
  40. this.$nextTick(()=>{
  41. if(this.myAdress){
  42. // 赋默认值
  43. }else{
  44. picker.setValues([address[0],address[0].childs[0],address[0].childs[0].childs[0]])
  45. }
  46. });
  47. }else{
  48. picker.setSlotValues(1, values[0].childs);
  49. let town = [];
  50. if(values[1]){
  51. town = values[1].childs;
  52. }
  53. picker.setSlotValues(2,town);
  54. }
  55.  
  56. }
  57. }
  58. }

Mint-UI Picker 三级联动的更多相关文章

  1. uni-app 微信小程序 picker 三级联动

    之前做过一个picker的三级联动功能,这里分享代码给大家 具体代码: // An highlighted block <template> <view> <picker ...

  2. 记录 vant Picker 选择器,实现三级联动,传对应省市区code值

    最近使用vant UI写移动端,感觉还不错 功能挺全的,带的还有省市区三级联动. 但是 突然遇到一个 产品要传的 省市区的code码,还和vant的 邮编不一样,我*****. 看了一下vant UI ...

  3. 用mint-ui picker组件 实现省市区三级联动

    公司上一期项目中新增了省市区滑动三级联动效果,用的是mint-ui的picker组件和popup组件,效果如下:点击确定换地区,点击取消不变 省市区数据是后台给的(根据上一级的id,获取下一级数据列表 ...

  4. vue mint ui 手册文档对于墙的恐惧

    http://www.cnblogs.com/smallteeth/p/6901610.html npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm ...

  5. vue mint ui 手册文档

    npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i mint-ui -S CDN 目前可以通过 unpkg.com/mint-ui 获取到最新版本 ...

  6. webForm(三)——三级联动

    三级联动 首先附图一张,初步认识一下什么是三级联动:                           注:选第一个后面两个变,选第二个,最后一个改变. 其次,做三级联动需要注意的方面:①DropD ...

  7. Webform——中国省市三级联动以及IsPostBack

    首先要明白Webform的运行顺序,当开始启动时候,首先执行的是Page_Load事件, 当点击任意按钮后,每次点击都要先执行一遍Page_Load(在这里Page_Load里面的事件是给数据控件加载 ...

  8. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  9. 2014.12.06 ASP.NET 三级联动,添加员工,修改员工

    (一)三级联动 要实现的效果: 代码: MyDBDataContext context = new MyDBDataContext(); protected void Page_Load(object ...

随机推荐

  1. [Vue] vue中setInterval的问题

    vue中使用setInterval this.chatTimer = setInterval(() => { console.log(this.chatTimer); this.chatMsg( ...

  2. DS控件库 DS标签的另类用法之折叠展开

    某些场合下,可以通过动态设置DS标签的文本内容来输出不同的显示效果,以下是示例. 示例中的素材   示例资源文本 String1="<linkimg=E1><b>&l ...

  3. ___Html页面使用Ajax做数据显示

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  4. Entity Framework (EF) Core工具创建一对多和多对多的关系

     一. EntirtyFramework(EF)简介 EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术,微软官方提供的ORM工具让开发人员节省数据库访问的代码时间 ...

  5. Skyline Terra Explorer6.6弹出窗口实现复制功能

    前段时间继续下来的基于Skyline的B/S项目,是基于Terra Explorer6.6实现的.项目中涉及到基于三维模型查询设备编码等操作,从用户友好角度来讲,查询到的设备编码应该要支持复制,方便用 ...

  6. Python 使用python-kafka类库开发kafka生产者&消费者&客户端

    使用python-kafka类库开发kafka生产者&消费者&客户端   By: 授客 QQ:1033553122       1.测试环境 python 3.4 zookeeper- ...

  7. Android探究之ANR

    什么是ANR ANR:Application Not Responding,即应用程序无响应. 在Android中,ActivityManagerService(简称AMS)和WindowManage ...

  8. Python之函数参数

    # -*- coding: utf-8 -*- """ Created on Fri Sep 7 09:13:50 2018 @author: zhen "&q ...

  9. selenium-自动化用例(十一)

    思路 将页面操作与用例case分别封装,编写case时就可以用同一个操作方法对应多个case 如下图: PageGUI:存放页面操作方法,每个页面写一个文件,每个文件中写同一个页面不同的操作,例如检索 ...

  10. winserver-记录共享文件夹操作日志

    abstract 1.在共享文件夹上开启审计. 2.在日志中查看操作记录. 开启审计 共享文件夹属性 选择审计 添加审计用户 选择用户及审计事件 日志查看 运行eventvwr 在windowslog ...