Skip to content

feat(Table): enhance row drag functionality#4229

Open
RylanBot wants to merge 16 commits intodevelopfrom
rylan/fix/table/2026-drag-sort
Open

feat(Table): enhance row drag functionality#4229
RylanBot wants to merge 16 commits intodevelopfrom
rylan/fix/table/2026-drag-sort

Conversation

@RylanBot
Copy link
Copy Markdown
Collaborator

@RylanBot RylanBot commented May 7, 2026

🤔 这个 PR 的性质是?

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

🔗 相关 Issue

【1】

【2】

【3】

💡 需求背景和解决方案

合并了以下两个旧 PR

拖拽时整体的渲染逻辑是,父行位置更新 -> data 刷新 -> 表格重绘
所以 expandedRow / tree 子节点在拖拽过程中只能停留原地
现在改为拖拽时隐藏原本的子节点,并生成一份它们的虚拟图像(DataTransfer.setDragImage()),使其与父行一起随鼠标移

image image

📝 更新日志

  • 本条 PR 不需要纳入 Changelog

tdesign-react

  • fix(Table): 修复开启虚拟滚动或 expandedRow 时,行拖拽异常的问题
  • fix(Table): 修复开启虚拟滚动或 headerAffixedTop 时,列拖拽失效的问题
  • feat(EnhancedTable): 优化拖拽时的预览效果,使展开子行与父行一起移动,同时禁止子行跨级拖拽

@tdesign-react/chat

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

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

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

@tdesign-bot
Copy link
Copy Markdown
Collaborator

tdesign-bot commented May 7, 2026

TDesign Component Site Preview Open

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

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 7, 2026

  • tdesign-react-demo

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

commit: 416869a

@RylanBot RylanBot force-pushed the rylan/fix/table/2026-drag-sort branch from 1ee2f70 to 9c914d6 Compare May 7, 2026 11:17
@RylanBot RylanBot added WIP work in porgess and removed WIP work in porgess labels May 7, 2026
@RylanBot RylanBot force-pushed the rylan/fix/table/2026-drag-sort branch from d8d365f to 416869a Compare May 7, 2026 12:46
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