zoukankan      html  css  js  c++  java
  • 使用element-ui tree获取子节点全选的父节点的信息

    使用el-tree来展示机构信息,然后传给后台用来作为查询条件。最初版本是把所有选中的节点都传给后端,后端使用in的方式来查询数据。这就出现一个问题,如果选中的是根节点,就会把整棵树的数据都传给后端,sql执行性能差。

    后端提出要求,如果子节点都选中了,就不要传子节点了,只要把父节点的信息传出去;如果子节点只是部分选中,那么就把选中节点的信息传出去;翻烂了element-ui文档,也没找到现成的方法。只能自己写了,具体代码如下(参考了element-ui tree的源码)

    getSimpleCheckedNodes(store) {
    const checkedNodes = [];
    const traverse = function(node) {
    const childNodes = node.root ? node.root.childNodes : node.childNodes;

    childNodes.forEach(child => {
    if (child.checked) {
    checkedNodes.push(child.data);
    }
    if (child.indeterminate) {
    traverse(child);
    }
    });
    };
    traverse(store)
    return checkedNodes;
    }

    ....
    // 调用
    getSimpleCheckedNodes(this.$refs.tree.store);// el-tree的ref是tree

    时而疯狂女汉子,时而温柔软妹子
  • 相关阅读:
    设计模式笔记4(工厂模式)
    设计模式笔记4(工厂模式)
    以前写的东东,放在这里个索引吧
    sicily 1001. Black Magic
    沙漠之旅
    hdu 1395(2^x mod n = 1)
    hdu 2161(Primes)
    sicily 8058. Matrix
    十进制转换为二进制
    硬币水题II
  • 原文地址:https://www.cnblogs.com/csji/p/13750545.html
Copyright © 2011-2022 走看看