element-ui API

记element-ui权限树的一些问题

element-ui内置的setChecked函数有点问题

所以自己重写了一下


    /**
     * fuck element-ui
     */
    checkParent(data, TreeData) {
      let todoDeal = [];
      function permlistFind(node, val) {
        for(let item of node) {
          if(item.id == val) return item;
          if(item.children != null) {
            let nxtStep = permlistFind(item.children, val);
            if(nxtStep != null) return nxtStep;
          }
        }
        return null;
      }
      function permlistSet(node, status) {
        if(node == null) return ;
        todoDeal.push(node.id);
        if(node.children != null) {
          for(let item of node.children) {
            permlistSet(item, status);
          }
        }
      }
      let status = 0;
      for(let i of TreeData.checkedKeys) {
        if(i == data.id) {
          status = 1; 
          break;
        }
      }
      this.$refs.permTree.setChecked(data.id, status);


      //选中子节点,如果父节点未被选中,则选中父节点
      if (status == true) {
        let cur = permlistFind(this.permlist, data.pid)
        while(cur != null) {
          this.$refs.permTree.setChecked(cur.id, 1);
          cur = permlistFind(this.permlist, cur.pid);
        }
      }


      if(data.children != null) {
        let cur = permlistFind(this.permlist, data.id);
        todoDeal.length = 0;
        permlistSet(cur, status);
        console.log(todoDeal);
        for(let item of todoDeal) {
          this.$refs.permTree.setChecked(item, status);
        }
      }
      


    },

element-ui整数校验不生效的问题

加了type: integer之后仍然无法生效,查了一下,原因是在v.model的时候,里面的内容自动当成字符串来处理,

解决方法是把v-model改成v-model.number

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...