Cascader 级联选择器-------------子级全选则传父级, 子级未全选则传子级


我需要的级联选择器一共是三级:

其中 this.$refs.departList是 ref 名

通过 getCheckedNodes() 方法, 可以获取所有已勾选的节点

当子级全选时CheckedNodes[0].hasChildren为true,否则为false

console.log(val)
      var arr = [];
      var arr2 = [];
      let CheckedNodes = this.$refs.departList.getCheckedNodes();
      CheckedNodes = CheckedNodes.filter(option => !(option.parent && option.parent.checked));
      console.log(CheckedNodes)
      if (CheckedNodes.length > 0) {
        if (CheckedNodes[0].hasChildren == true) {
          arr.push(CheckedNodes[0].value)
        }
      }
      for (var i = 0; i < val.length; i++) {
        for (var j = 0; j < val[i].length; j++) {
          console.log(val[i][val[i].length-1])//获取数组的最后一个元素
          arr.push(val[i][val[i].length-1]);
        }
      }
      var flag;
      for (var i in arr) {//去重
        flag = true;
        for (var j in arr2) {
          if (arr2[j] == arr[i]) {
            flag = false;
            break
          }
        }
        if (flag) {
          arr2.push(arr[i])
        }
      }
      if (val == '') {
        arr2 = null
      }
      console.log(arr2)

包括了子级全选则传父级, 子级未全选则传子级及去重


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM