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