Skip to content

fix(EnhancedTable): tree nodes being re-collapsed so children only render after scrolling - #4371

Open
RylanBot wants to merge 1 commit into
developfrom
rylan/fix/table/toggle
Open

fix(EnhancedTable): tree nodes being re-collapsed so children only render after scrolling#4371
RylanBot wants to merge 1 commit into
developfrom
rylan/fix/table/toggle

Conversation

@RylanBot

@RylanBot RylanBot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

💡 需求背景和解决方案

受控模式下,一次点击会触发两个 effect:

  1. useTreeDataExpanduser-reaction-change 分支直接调用 store.toggleExpandData({ row, rowIndex }, dataSource),以 visibleData 切片中的局部下标(如 3)作为 rowIndex,将子节点 splice 到错误位置(如 dataSource[4],而非真实的 dataSource[51])。

  2. useTreeDatauseEffect([data, expandedTreeNodes]) 随后执行 resetData,重建 store 并按 expandedTreeNodes 正确展开节点。

由于步骤 1 将子节点插入了视口之外的错误位置,虚拟滚动计算可视区切片时无法包含这些行,直到用户触发滚动重新计算才显现。

(无虚拟滚动时不触发:此时 visibleData === dataSource,局部下标与真实下标一致,splice 位置正确,表现正常)

📝 更新日志

  • 本条 PR 不需要纳入 Changelog

tdesign-react

  • fix(EnhancedTable): 修复开启虚拟滚动且 expandedTreeNodes 受控时,展开的子节点无法正确渲染的问题

@tdesign-react/chat

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 115 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-react-aigc/es/_chunks/dep-a956212b.js 92.6 kB
packages/tdesign-react-aigc/es/_util/reactify.js 3.89 kB
packages/tdesign-react-aigc/es/_util/useDynamicStyle.js 615 B
packages/tdesign-react-aigc/es/attachments/index.js 354 B
packages/tdesign-react-aigc/es/chat-actionbar/index.js 360 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/index.js 285 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/registry.js 1.01 kB
packages/tdesign-react-aigc/es/chat-engine/components/activity/render.js 1.62 kB
packages/tdesign-react-aigc/es/chat-engine/components/activity/types.js 106 B
packages/tdesign-react-aigc/es/chat-engine/components/index.js 490 B
packages/tdesign-react-aigc/es/chat-engine/components/provider/agent-state.js 556 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/index.js 422 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/registry.js 969 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/render.js 2.86 kB
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/types.js 208 B
packages/tdesign-react-aigc/es/chat-engine/hooks/index.js 434 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentActivity.js 841 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentState.js 1.29 kB
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentToolcall.js 851 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useChat.js 933 B
packages/tdesign-react-aigc/es/chat-engine/index.js 770 B
packages/tdesign-react-aigc/es/chat-filecard/index.js 354 B
packages/tdesign-react-aigc/es/chat-loading/index.js 360 B
packages/tdesign-react-aigc/es/chat-markdown/index.js 406 B
packages/tdesign-react-aigc/es/chat-message/index.js 367 B
packages/tdesign-react-aigc/es/chat-sender/index.js 359 B
packages/tdesign-react-aigc/es/chat-thinking/index.js 387 B
packages/tdesign-react-aigc/es/chatbot/index.js 426 B
packages/tdesign-react-aigc/es/index.js 998 B
packages/tdesign-react-aigc/es/style/index.js 146 B

compressed-size-action::tdesign-react-chat

@tdesign-bot

Copy link
Copy Markdown
Collaborator

TDesign Component Site Preview Open

Component Preview
tdesign-react 完成
@tdesign-react/chat 完成

@pkg-pr-new

pkg-pr-new Bot commented Sep 1, 2026

Copy link
Copy Markdown
  • tdesign-react-demo

    npm i https://pkg.pr.new/Tencent/tdesign-react@4371
    
    npm i https://pkg.pr.new/Tencent/tdesign-react/@tdesign-react/chat@4371
    

commit: 569203a

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Size Change: +94 B (+0.01%)

Total Size: 932 kB

📦 View Changed
Filename Size Change
packages/tdesign-react/dist/tdesign.js 513 kB +60 B (+0.01%)
packages/tdesign-react/dist/tdesign.min.js 300 kB +34 B (+0.01%)
ℹ️ View Unchanged
Filename Size
packages/tdesign-react/dist/reset.css 1.93 kB
packages/tdesign-react/dist/tdesign.css 61 kB
packages/tdesign-react/dist/tdesign.min.css 55.2 kB

compressed-size-action::tdesign-react

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.

2 participants