• Mint-UI Picker 三级联动


    Mint-UI Picker组件的三级联动

    HTML:

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

    JS:

    const address = [
      {
        "code": "001",
        "name": "省份1",
        "childs": [
          {
            "code": "001-1",
            "name": "城市1",
            "childs": [
              {
                "code": "001-1-1",
                "name": "城市1县城1"
              },
              {
                "code": "001-1-2",
                "name": "城市1县城2"
              }
            ]
          },
          {
            "code": "001-2",
            "name": "城市2",
            "childs": [
              {
                "code": "001-2-1",
                "name": "城市2县城1"
              },
              {
                "code": "001-2-2",
                "name": "城市2县城2"
              }
            ]
          }
        ]
      },
      {
        "code": "002",
        "name": "省份2",
        "childs": [
          {
            "code": "002-1",
            "name": "城市3",
            "childs": [
              {
                "code": "002-1-1",
                "name": "城市3县城1"
              },
              {
                "code": "002-1-2",
                "name": "城市3县城2"
              }
            ]
          },
          {
            "code": "002-2",
            "name": "城市4",
            "childs": [
              {
                "code": "002-2-1",
                "name": "城市4县城1"
              },
              {
                "code": "002-2-2",
                "name": "城市4县城2"
              }
            ]
          }
        ]
      },
      {
        "code": "003",
        "name": "省份3",
        "childs": [
          {
            "code": "003-1",
            "name": "城市5",
            "childs": [
              {
                "code": "003-1-1",
                "name": "城市5县城1"
              },
              {
                "code": "003-1-2",
                "name": "城市5县城2"
              }
            ]
          },
          {
            "code": "003-2",
            "name": "城市6",
            "childs": [
              {
                "code": "003-2-1",
                "name": "城市6县城1"
              },
              {
                "code": "003-2-2",
                "name": "城市6县城2"
              }
            ]
          }
        ]
      },
    ];
    export default {
        name: 'app',
        data () {
            return {
                myAdress:null,
                slots: [
                    {
                      flex: 1,
                      values: address,
                      defaultIndex:10,
                      className: 'slot1',
                      textAlign: 'right'
                    }, {
                      divider: true,
                      content: '-',
                      className: 'slot2'
                    }, {
                      flex: 1,
                      values: address[0].childs,
                      defaultIndex:0,
                      className: 'slot3',
                      textAlign: 'left'
                    }, {
                      divider: true,
                      content: '-',
                      className: 'slot4'
                    }, {
                      flex: 1,
                      values: address[0].childs[0].childs,
                      defaultIndex:0,
                      className: 'slot5',
                      textAlign: 'left'
                    }
                ]
            }
        },
        methods: {
              onValuesChange(picker, values) {
                if(!values[0]){
                   this.$nextTick(()=>{
                        if(this.myAdress){
                             // 赋默认值
                        }else{
                             picker.setValues([address[0],address[0].childs[0],address[0].childs[0].childs[0]])
                        }
                   });
                }else{
                   picker.setSlotValues(1, values[0].childs);
                   let town = [];
                   if(values[1]){
                      town = values[1].childs;
                   }
                   picker.setSlotValues(2,town);
                }
    
              }
        }
    }

  • 相关阅读:
    单相、二相、三相区别
    Live for Speed 车模、赛道模型导出
    Lenovo/IBM Thinkpad X41 Tablet
    科普题外话 赛车性能的关键指标: 马力和扭力
    MAME™ Official Developer Documentation!
    Visual Studio 2005 & SQL Server 2005 are COMING!
    星际争霸(Star Craft)的Sprites导出
    推荐一本关于操作系统实践的好书
    科普题外话:Experimental Advanced Superconducting Tokamak - 人造太阳
    The Space Elevator -通往地球同步轨道的天梯
  • 原文地址:https://www.cnblogs.com/zling-gnilz/p/7987796.html
Copyright © 2020-2023  润新知