遍历tree树 并对当前选中项下的所有子目录添加disabled使其禁止选中

遍历tree树 并对当前选中项下的所有子目录添加disabled使其禁止选中

mounted:

mm

methods:

    tickMenuIdFilter: function() {

      var id = this.id; //当前选中的id

      var resultArr = new Array();

      var getTick = function(obj) {

        //遍历所有的目录并添加属性disabled = true

        if (undefined == obj || null == obj || !obj instanceof Object) {

          return;}

        if (null != obj.subs && obj.subs instanceof Array) {

          for (let child of obj.subs) {

            child.disabled = true;

            getTick(child); //回调

}

}

};

      var getTickMenuId = function(obj) {

        //id不是当前选中的所有目录 disabled = false

        if (undefined == obj || null == obj || !obj instanceof Object) {

          return;

}

        if (obj.id === parseInt(id)) {

          obj.disabled = true;

}

        if (null != obj.subs && obj.subs instanceof Array && obj.id !== parseInt(id)) {

          obj.disabled = false;

          for (let child of obj.subs) {

            child.disabled = false;

            getTickMenuId(child);

}

}

};

      return{

        filter: function(arr) {

          //过滤 如果为父级return arr[] 为子级则return false

          if (!arr instanceof Array) {

            return false;

}

          resultArr = new Array();

          for (let rootMenu of arr) {

            getTick(rootMenu);

            getTickMenuId(rootMenu);

}

          return resultArr;

}

};

},

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。