-
-
Notifications
You must be signed in to change notification settings - Fork 8.9k
fix(custom-element): optimize slot retrieval to avoid duplicates #13961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughUpdates VueElement._getSlots to iterate all root nodes (host plus Teleport targets), collect slot elements into a Set to deduplicate across roots, and return the aggregated array, preventing duplicate slot handling when Teleport targets overlap with the custom element host. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Browser
participant CE as VueCustomElement
participant Roots as Root Nodes (host + Teleport targets)
participant Set as Slot Set
Browser->>CE: mount custom element (shadowRoot: false)
CE->>Roots: discover root nodes (host + teleport targets)
loop for each root
CE->>Roots: query slot elements
Roots-->>Set: add slot elements (deduplicated)
end
CE->>CE: Array.from(Set) -> slots array
CE->>Browser: render slots (deduplicated)
note right of CE: prevents null insertBefore when teleport target is ancestor
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Comment |
Size ReportBundles
Usages
|
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
close #13955
Summary by CodeRabbit
Bug Fixes
Tests