Git Product home page Git Product logo

Comments (4)

Liao-js avatar Liao-js commented on June 2, 2024 2

check-strictly 为 false 的时候,只有子节点(叶子结点)能被选中,是有什么问题吗?

在我的场景里 ,这个11 其实是个分组(组是仓库组的概念) ,只是这个组下没有了children。 children是仓库的概念 我是选择框是为了收集仓库的id发送给服务端

我设想的check-strictly 只能选择仓库

我理解最终为什么能选择11,因为 11 这个分组已经没有children了 他被认为了是一个children

提这个issue是在想,能否提供其他的参数 让check-strictly分清层级 至少目前来看 我觉得check-strictly是不合理的

我最终的解决方案是 删除所有空的children&&type是group 的节点,得到一个处理好的数据

/**
 * 处理树形数据,删除children为null的节点
 * @param tree
 */
function removeEmptyGroupNodes(tree: IWarehouseGroupListParamVO[]): IWarehouseGroupListParamVO[] {
  return tree.reduce((acc: IWarehouseGroupListParamVO[], item: IWarehouseGroupListParamVO) => {
    // 如果当前节点有子节点,对子节点进行递归处理
    if (item.children && item.children.length > 0) {
      item.children = removeEmptyGroupNodes(item.children);
    }
    // 如果当前节点的children为null且type为'group',则删除该节点
    if (item.children === null && item.type === 'group') {
      console.log('删除的节点', item);
      return acc; // 不将当前节点添加到累加器中
    }

    // 如果子节点数组被清空,且当前节点type为'group',则不添加当前节点到累加器
    if (item.children && item.children.length === 0 && item.type === 'group') {
      console.log('删除的父节点', item);
      return acc;
    }

    // 否则,将当前节点添加到累加器中
    acc.push(item);
    return acc;
  }, []);
}

是不是可以像这个 demo 一样,把所有选择框显示出来,然后通过禁用的方式,来禁止选择

from element-plus.

Liao-js avatar Liao-js commented on June 2, 2024

check-strictly 为 false 的时候,只有子节点(叶子结点)能被选中,是有什么问题吗?

from element-plus.

xTreeRoot avatar xTreeRoot commented on June 2, 2024

check-strictly 为 false 的时候,只有子节点(叶子结点)能被选中,是有什么问题吗?

在我的场景里 ,这个11 其实是个分组(组是仓库组的概念) ,只是这个组下没有了children。 children是仓库的概念
我是选择框是为了收集仓库的id发送给服务端

我设想的check-strictly 只能选择仓库

我理解最终为什么能选择11,因为 11 这个分组已经没有children了 他被认为了是一个children

提这个issue是在想,能否提供其他的参数 让check-strictly分清层级 至少目前来看 我觉得check-strictly是不合理的

我最终的解决方案是 删除所有空的children&&type是group 的节点,得到一个处理好的数据

/**
 * 处理树形数据,删除children为null的节点
 * @param tree
 */
function removeEmptyGroupNodes(tree: IWarehouseGroupListParamVO[]): IWarehouseGroupListParamVO[] {
  return tree.reduce((acc: IWarehouseGroupListParamVO[], item: IWarehouseGroupListParamVO) => {
    // 如果当前节点有子节点,对子节点进行递归处理
    if (item.children && item.children.length > 0) {
      item.children = removeEmptyGroupNodes(item.children);
    }
    // 如果当前节点的children为null且type为'group',则删除该节点
    if (item.children === null && item.type === 'group') {
      console.log('删除的节点', item);
      return acc; // 不将当前节点添加到累加器中
    }

    // 如果子节点数组被清空,且当前节点type为'group',则不添加当前节点到累加器
    if (item.children && item.children.length === 0 && item.type === 'group') {
      console.log('删除的父节点', item);
      return acc;
    }

    // 否则,将当前节点添加到累加器中
    acc.push(item);
    return acc;
  }, []);
}

from element-plus.

xTreeRoot avatar xTreeRoot commented on June 2, 2024

是不是可以像这个 demo 一样,把所有选择框显示出来,然后通过禁用的方式,来禁止选择

是的,通过某个prop控制选择

from element-plus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.