Skip to content

fix(Menu): preserve height transitions without clipping submenu content - #4473

Open
RSS1102 wants to merge 6 commits into
developfrom
codex/fix-submenu-content-height
Open

RSS1102 wants to merge 6 commits into
developfrom
codex/fix-submenu-content-height

Conversation

@RSS1102

@RSS1102 RSS1102 commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 组件样式/交互改进
  • 测试用例

🔗 相关 Issue

Closes #3222

相关方案讨论:#3981。

💡 需求背景和解决方案

SubMenu 按「子节点数 × 50px」限制展开高度,自定义 MenuItem 高度后会裁剪底部内容。

改为按实测高度执行展开/收起动画,展开完成后释放高度限制,收起完成后保持隐藏,同时处理嵌套、动态内容及动画中途反向切换。补充组件回归测试。

修复前后:内容裁剪与展开收起动画

两个独立沙盒使用完全相同的示例代码,仅组件包版本不同:

📝 更新日志

tdesign-react

  • fix(Menu): 修复自定义菜单项高度时子菜单内容被裁剪的问题。

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

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

@github-actions

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 76.3 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-react-aigc/es/_util/reactify.js 2.99 kB
packages/tdesign-react-aigc/es/_util/useDynamicStyle.js 615 B
packages/tdesign-react-aigc/es/attachments/index.js 345 B
packages/tdesign-react-aigc/es/chat-actionbar/index.js 984 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/index.js 378 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/registry.js 454 B
packages/tdesign-react-aigc/es/chat-engine/components/activity/render.js 1.12 kB
packages/tdesign-react-aigc/es/chat-engine/components/activity/types.js 106 B
packages/tdesign-react-aigc/es/chat-engine/components/index.js 973 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/atomic/button.js 1.51 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/atomic/card.js 1.01 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/atomic/input.js 1.52 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/atomic/layout.js 1.58 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/atomic/text.js 997 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js 7.53 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/actions.js 2.94 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/data.js 11.8 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/index.js 428 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/store.js 954 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/tree.js 929 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/validation.js 2.06 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/contexts/visibility.js 709 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/index.js 748 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/registry/a2ui-binding.js 2.1 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/registry/a2ui-registry.js 1.48 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/registry/config.js 517 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/registry/index.js 1.85 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/renderer/_index.js 1.52 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js 3.5 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/renderer/A2UISurface.js 2.71 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js 842 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js 1.68 kB
packages/tdesign-react-aigc/es/chat-engine/components/json-render/types.js 106 B
packages/tdesign-react-aigc/es/chat-engine/components/json-render/utils/sanitize-props.js 933 B
packages/tdesign-react-aigc/es/chat-engine/components/provider/agent-state.js 430 B
packages/tdesign-react-aigc/es/chat-engine/components/shared/ComponentErrorBoundary.js 836 B
packages/tdesign-react-aigc/es/chat-engine/components/shared/createRegistry.js 942 B
packages/tdesign-react-aigc/es/chat-engine/components/shared/index.js 296 B
packages/tdesign-react-aigc/es/chat-engine/components/shared/useRegistrationListener.js 554 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/index.js 459 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/registry.js 457 B
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/render.js 2.38 kB
packages/tdesign-react-aigc/es/chat-engine/components/toolcall/types.js 208 B
packages/tdesign-react-aigc/es/chat-engine/hooks/index.js 436 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentActivity.js 934 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentState.js 1.16 kB
packages/tdesign-react-aigc/es/chat-engine/hooks/useAgentToolcall.js 947 B
packages/tdesign-react-aigc/es/chat-engine/hooks/useChat.js 1.04 kB
packages/tdesign-react-aigc/es/chat-engine/index.js 1.19 kB
packages/tdesign-react-aigc/es/chat-filecard/index.js 345 B
packages/tdesign-react-aigc/es/chat-loading/index.js 351 B
packages/tdesign-react-aigc/es/chat-markdown/index.js 384 B
packages/tdesign-react-aigc/es/chat-message/index.js 358 B
packages/tdesign-react-aigc/es/chat-sender/index.js 349 B
packages/tdesign-react-aigc/es/chat-thinking/index.js 369 B
packages/tdesign-react-aigc/es/chatbot/index.js 393 B
packages/tdesign-react-aigc/es/index.js 1.37 kB
packages/tdesign-react-aigc/es/style/index.js 148 B

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

@tdesign-bot

tdesign-bot commented Nov 10, 2026 •

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 Nov 10, 2026 •

Copy link
Copy Markdown
  • tdesign-react-demo

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

commit: e2fb99b

@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Size Change: +179 B (+0.02%)

Total Size: 940 kB

📦 View Changed
Filename Size Change
packages/tdesign-react/dist/tdesign.js 519 kB +117 B (+0.02%)
packages/tdesign-react/dist/tdesign.min.js 303 kB +62 B (+0.02%)
ℹ️ View Unchanged
Filename Size
packages/tdesign-react/dist/reset.css 1.93 kB
packages/tdesign-react/dist/tdesign.css 60.9 kB
packages/tdesign-react/dist/tdesign.min.css 55.1 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.

Menu组件submenu css max-height: 计算问题

2 participants