Skip to content

fix(table): read defaultExpandedTreeNodes from its own prop - #4480

Open
lnuxe wants to merge 1 commit into
Tencent:developfrom
lnuxe:fix/table-default-expanded-tree-nodes
Open

lnuxe wants to merge 1 commit into
Tencent:developfrom
lnuxe:fix/table-default-expanded-tree-nodes

Conversation

@lnuxe

@lnuxe lnuxe commented Nov 12, 2026

Copy link
Copy Markdown

🤔 这个 PR 的性质是?

  • 日常 bug 修复

🔗 相关 Issue

无(本 PR 直接修复 defaultExpandedTreeNodes 失效)

📝 描述

useTreeDataExpand 把错误的 prop 当成了非受控默认值:

defaultExpandedTreeNodes: props.defaultSelectedRowKeys || [],

后果有两个方向:

  1. defaultExpandedTreeNodes 完全失效——传了也不会展开任何节点
  2. 设 defaultSelectedRowKeys 会意外展开树节点

这两个 prop 毫无关系,一个是展开的节点列表,一个是选中的行列表。

改动

-      defaultExpandedTreeNodes: props.defaultSelectedRowKeys || [],
+      defaultExpandedTreeNodes: props.defaultExpandedTreeNodes || [],

🔍 自测

修复前(还原 useTreeDataExpand.ts 后跑新测试):

× EnhancedTable > expand > honours defaultExpandedTreeNodes for the uncontrolled expanded state
  → expected [ '0', '1' ] to deeply equal [ '0', '0-0', '0-1', '1' ]
Tests  1 failed (1)

修复后:

✓ EnhancedTable > expand > honours defaultExpandedTreeNodes for the uncontrolled expanded state
✓ EnhancedTable > expand > does not expand nodes when only defaultSelectedRowKeys is set
Tests  2 passed (2)

第二个用例专门锁住反向行为:只传 defaultSelectedRowKeys 时不应展开任何节点。

回归:

npx vitest run packages/components/table
Test Files  4 passed (4)
     Tests  49 passed (49)

✅ 贡献者检查

  • 我的代码遵循这个项目的代码风格
  • 我已经自己检查了自己的代码
  • 我已经添加了必要的测试
  • 我已经在本地通过了所有测试

useTreeDataExpand seeded the uncontrolled expanded state from
props.defaultSelectedRowKeys:

    defaultExpandedTreeNodes: props.defaultSelectedRowKeys || [],

So a table that only set defaultSelectedRowKeys also expanded those rows, and
a table that set defaultExpandedTreeNodes saw it ignored entirely.

Verified:
- new test fails on the previous implementation
  (expected [ '0', '1' ] to deeply equal [ '0', '0-0', '0-1', '1' ])
- new test passes with the fix
- the second case confirms defaultSelectedRowKeys no longer expands anything
@lnuxe
lnuxe force-pushed the fix/table-default-expanded-tree-nodes branch from 0806944 to 132cbc4 Compare November 13, 2026 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant