| | |
| | | } |
| | | return null; // 没有找到节点,返回null |
| | | }; |
| | | function convertIdToValue(data) { |
| | | function convertIdToValue(data, level = 0) { |
| | | return data.map((item) => { |
| | | const { id, children, ...rest } = item; |
| | | const hasChildren = Array.isArray(children) && children.length > 0; |
| | | const newItem = { |
| | | ...rest, |
| | | value: id, // 将 id 改为 value |
| | | // 仅允许叶子节点被选择(有子节点的分类节点统一禁用) |
| | | disabled: Boolean(rest?.disabled) || hasChildren, |
| | | }; |
| | | if (children && children.length > 0) { |
| | | newItem.children = convertIdToValue(children); |
| | | if (hasChildren) { |
| | | newItem.children = convertIdToValue(children, level + 1); |
| | | } |
| | | |
| | | return newItem; |