zoukankan      html  css  js  c++  java
  • vue层级选择器多选

    来了一个需求,需要层级多选器,二级需要多选,自己造的时候花了半天没造出来,给的时间有限呀,确实不好造,造了一半很多bug。结果google一把发现有一个开源的,写的挺不错的,所以将此番分享,真的节约了很多时间,毕竟公司就我一个人呀~

    分享他人封装的插件如下~ 结合element一致

    1.  层级选取器之多选,如图,基于element-ui的级联多选选择器,友好显示下拉箭头,样式与element一致,支持多选与级联选择器的大部分功能。

    install 安装

    npm i el-cascader-multi --save
    或
    cnpm i el-cascader-multi --save

    在main.js中写入下面的代码

    import elCascaderMulti from "el-cascader-multi";
    Vue.use(elCascaderMulti);

    接下来,你就可以在页面中使用cascader-multi了

    <template>
        <el-cascader-multi v-model="checkList" :data="data"> </el-cascader-multi>
    </template>
    <script>
        export default {
            data () {
                return {
                    data: [], // 与element级联选择器格式一致
                    checkList: []
                }
            }
        }
    </script>

    推荐看这个gitHub有详细说明:https://github.com/Charming2015/el-cascader-multi

    我的代码如下:

    main中引入后,在组件中引入这个代码

     <el-cascader-multi
              v-model="checkList"
              :data="Adata"
              @change="change"
              value-key="id"
              label-key="label"
              :only-last="true"
              :children-key="children"
            ></el-cascader-multi>

    在@change方法下再编译需要传的参数

        change() {
          this.objList = [];
          let obj = {
            code: "",
            id: "",
            label: ""
          };
          let that = this;
          this.checkList.forEach(itemA => {
            that.Adata.forEach(item => {
              if (itemA[0] == item.id) {
                obj.id = itemA[1];
                item.children.forEach(itemB => {
                  if (obj.id == itemB.id) {
                    obj.code = item.code;
                    obj.label = itemB.label;
                    that.objList.push(Object.assign({}, obj));
                  }
                });
    
                console.log(that.objList);
              }
            });
          });
          // this.checkList = this.checkList;
          // console.log(this.checkList);
        },

    对数据进行处理后,传参的数据如下

  • 相关阅读:
    认证与授权(访问控制)
    文件上传漏洞
    注入攻击
    HTML 5 安全
    Linux添加开机启动命令
    mysql开启远程访问权限
    mysql_connect() php7不支持,php5.5可以,是废弃函数
    REGEXP 正则的实现两个字符串组的匹配。(regexp)
    文章排序权重
    Redis 基本操作
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12526177.html
Copyright © 2011-2022 走看看