Skip to content

[wip]方案二 fix(popup): 修复 Shadow DOM 下事件穿透导致弹层异常关闭 - #6779

Open
liweijie0812 wants to merge 4 commits into
developfrom
fix/popup/shadow-dom2
Open

[wip]方案二 fix(popup): 修复 Shadow DOM 下事件穿透导致弹层异常关闭#6779
liweijie0812 wants to merge 4 commits into
developfrom
fix/popup/shadow-dom2

Conversation

@liweijie0812

@liweijie0812 liweijie0812 commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

🤔 这个 PR 的性质是?

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

🔗 相关 Issue

💡 需求背景和解决方案

t-popup 在 shadow DOM 下有两处 broken:

onDocumentMouseDown 用 popperEl.contains(ev.target) 判断点击是否在弹层内,
shadow DOM 下 document 层的 ev.target 被重定向到 shadow host,contains 恒为
false → 点击弹层内部误关闭。
onMouseLeave → getPopperTree 用 document.querySelectorAll 查找子弹层判断光标
是否仍在弹层上,querySelectorAll 不穿透 shadow 边界 → 返回 [] → hover 移向
子弹层时父弹层误关闭。

📝 更新日志

  • 本条 PR 不需要纳入 Changelog

tdesign-vue-next

@tdesign-vue-next/chat

@tdesign-vue-next/nuxt

@tdesign-vue-next/auto-import-resolver

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

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

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

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 21.4 kB

ℹ️ View Unchanged
Filename Size
packages/auto-import-resolver/dist/index.cjs 10.7 kB
packages/auto-import-resolver/dist/index.js 10.7 kB

compressed-size-action::auto-import-resolver

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 3.55 kB

ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next-nuxt/dist/module.d.mts 551 B
packages/tdesign-vue-next-nuxt/dist/module.mjs 2.84 kB
packages/tdesign-vue-next-nuxt/dist/types.d.mts 164 B

compressed-size-action::tdesign-vue-next-nuxt

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: +216 B (+0.29%)

Total Size: 74.8 kB

📦 View Changed
Filename Size Change
packages/tdesign-vue-next-chat/es/_chunks/dep-a98bc578.mjs 30.6 kB +30.6 kB (new file) 🆕
packages/tdesign-vue-next-chat/es/_chunks/dep-aa0ac517.mjs 0 B -30.4 kB (removed) 🏆
packages/tdesign-vue-next-chat/es/chat-actionbar/chat-actionbar.mjs 1.57 kB +1 B (+0.06%)
packages/tdesign-vue-next-chat/es/chat-actionbar/index.mjs 336 B +1 B (+0.3%)
packages/tdesign-vue-next-chat/es/chat-content/chat-content.mjs 2.23 kB +1 B (+0.04%)
packages/tdesign-vue-next-chat/es/chat-content/index.mjs 385 B +1 B (+0.26%)
packages/tdesign-vue-next-chat/es/chat-input/chat-input.mjs 1.54 kB +2 B (+0.13%)
packages/tdesign-vue-next-chat/es/chat-input/index.mjs 322 B +1 B (+0.31%)
packages/tdesign-vue-next-chat/es/chat-item/chat-item.mjs 1.98 kB +1 B (+0.05%)
packages/tdesign-vue-next-chat/es/chat-item/index.mjs 433 B +1 B (+0.23%)
packages/tdesign-vue-next-chat/es/chat-list/chat-list.mjs 2.78 kB +2 B (+0.07%)
packages/tdesign-vue-next-chat/es/chat-list/index.mjs 366 B +1 B (+0.27%)
packages/tdesign-vue-next-chat/es/chat-message/chat-message.mjs 1.25 kB +2 B (+0.16%)
packages/tdesign-vue-next-chat/es/chat-message/index.mjs 319 B +1 B (+0.31%)
packages/tdesign-vue-next-chat/es/chat-reasoning/chat-reasoning.mjs 1.19 kB +2 B (+0.17%)
packages/tdesign-vue-next-chat/es/chat-reasoning/index.mjs 302 B +2 B (+0.67%)
packages/tdesign-vue-next-chat/es/chat-sender/chat-sender.mjs 3.03 kB +2 B (+0.07%)
packages/tdesign-vue-next-chat/es/chat-sender/index.mjs 358 B +1 B (+0.28%)
packages/tdesign-vue-next-chat/es/chat-thinking/chat-thinking.mjs 943 B +1 B (+0.11%)
packages/tdesign-vue-next-chat/es/index.mjs 1.51 kB +1 B (+0.07%)
ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next-chat/es/_chunks/dep-ac45875e.mjs 2.16 kB
packages/tdesign-vue-next-chat/es/attachments/index.mjs 240 B
packages/tdesign-vue-next-chat/es/chat-actionbar/chat-actionbar-props.mjs 364 B
packages/tdesign-vue-next-chat/es/chat-content/chat-content-props.mjs 358 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/index.mjs 321 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/registry.mjs 406 B
packages/tdesign-vue-next-chat/es/chat-engine/components/activity/render.mjs 784 B
packages/tdesign-vue-next-chat/es/chat-engine/components/provider/agent-state.mjs 521 B
packages/tdesign-vue-next-chat/es/chat-engine/components/provider/index.mjs 219 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/ComponentErrorBoundary.mjs 549 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/createRegistry.mjs 978 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/index.mjs 258 B
packages/tdesign-vue-next-chat/es/chat-engine/components/shared/useRegistrationListener.mjs 624 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/hoc.mjs 755 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/index.mjs 441 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/registry.mjs 410 B
packages/tdesign-vue-next-chat/es/chat-engine/components/toolcall/render.mjs 339 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/index.mjs 345 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentActivity.mjs 953 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentState.mjs 1.22 kB
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useAgentToolcall.mjs 920 B
packages/tdesign-vue-next-chat/es/chat-engine/hooks/useChat.mjs 686 B
packages/tdesign-vue-next-chat/es/chat-engine/index.mjs 560 B
packages/tdesign-vue-next-chat/es/chat-input/chat-input-props.mjs 352 B
packages/tdesign-vue-next-chat/es/chat-item/chat-item-props.mjs 431 B
packages/tdesign-vue-next-chat/es/chat-list/props.mjs 454 B
packages/tdesign-vue-next-chat/es/chat-loading/chat-loading-props.mjs 281 B
packages/tdesign-vue-next-chat/es/chat-loading/index.mjs 244 B
packages/tdesign-vue-next-chat/es/chat-markdown/index.mjs 260 B
packages/tdesign-vue-next-chat/es/chat-message/chat-message-props.mjs 436 B
packages/tdesign-vue-next-chat/es/chat-reasoning/chat-reasoning-props.mjs 421 B
packages/tdesign-vue-next-chat/es/chat-sender/chat-sender-props.mjs 366 B
packages/tdesign-vue-next-chat/es/chat-thinking/chat-thinking-props.mjs 387 B
packages/tdesign-vue-next-chat/es/chat-thinking/index.mjs 334 B
packages/tdesign-vue-next-chat/es/chatbot/index.mjs 397 B
packages/tdesign-vue-next-chat/es/config-provider.mjs 158 B
packages/tdesign-vue-next-chat/es/style/css.mjs 42 B
packages/tdesign-vue-next-chat/es/style/index.css 3.97 kB
packages/tdesign-vue-next-chat/es/utils/index.mjs 494 B

compressed-size-action::tdesign-vue-next-chat

@tdesign-bot

tdesign-bot commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

TDesign Component Site Preview Open

Component Preview
tdesign-vue-next 完成
@tdesign-vue-next/chat 完成

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Size Change: +216 B (+0.02%)

Total Size: 954 kB

📦 View Changed
Filename Size Change
packages/tdesign-vue-next/dist/tdesign.js 529 kB +159 B (+0.03%)
packages/tdesign-vue-next/dist/tdesign.min.js 314 kB +57 B (+0.02%)
ℹ️ View Unchanged
Filename Size
packages/tdesign-vue-next/dist/plugin.css 3.02 kB
packages/tdesign-vue-next/dist/reset.css 1.91 kB
packages/tdesign-vue-next/dist/tdesign.css 55.4 kB
packages/tdesign-vue-next/dist/tdesign.min.css 50.3 kB

compressed-size-action::tdesign-vue-next

@pkg-pr-new

pkg-pr-new Bot commented Jul 3, 2026

Copy link
Copy Markdown
  • tdesign-vue-next-demo

    npm i https://pkg.pr.new/@tdesign-vue-next/auto-import-resolver@6779
    
    npm i https://pkg.pr.new/tdesign-vue-next@6779
    
    npm i https://pkg.pr.new/@tdesign-vue-next/chat@6779
    
    npm i https://pkg.pr.new/@tdesign-vue-next/nuxt@6779
    

commit: c91c242

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