Commit 8d218ec8d505296a83c31a553b59fb946d2e8d65
Committed by
GitHub
1 parent
72dbe574
Update useTree.ts (#2602)
修复获取子节点出错
Showing
1 changed file
with
5 additions
and
3 deletions
src/components/Tree/src/hooks/useTree.ts
... | ... | @@ -181,14 +181,16 @@ export function useTree(treeDataRef: Ref<TreeDataItem[]>, getFieldNames: Compute |
181 | 181 | function getSelectedNode(key: KeyType, list?: TreeItem[], selectedNode?: TreeItem | null) { |
182 | 182 | if (!key && key !== 0) return null; |
183 | 183 | const treeData = list || unref(treeDataRef); |
184 | + const { key: keyField, children: childrenField } = unref(getFieldNames); | |
185 | + if (!keyField) return; | |
184 | 186 | treeData.forEach((item) => { |
185 | 187 | if (selectedNode?.key || selectedNode?.key === 0) return selectedNode; |
186 | - if (item.key === key) { | |
188 | + if (item[keyField] === key) { | |
187 | 189 | selectedNode = item; |
188 | 190 | return; |
189 | 191 | } |
190 | - if (item.children && item.children.length) { | |
191 | - selectedNode = getSelectedNode(key, item.children, selectedNode); | |
192 | + if (item[childrenField!] && item[childrenField!].length) { | |
193 | + selectedNode = getSelectedNode(key, item[childrenField!], selectedNode); | |
192 | 194 | } |
193 | 195 | }); |
194 | 196 | return selectedNode || null; | ... | ... |