Don't overwrite user-defined template refs when rendering #2720
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In some cases if we used our own ref (we do this in
<TransitionRoot>
for instance) and rendered slot children we would wipe out user-specified refs. This could be easily reproduced when adding a ref on a component that was an immediate child of a<TransitionRoot>
withas="template"
.So, now, we set a flag when calling
cloneVNode
to merge our refs and any user-specified refs thus preserving own own refs and any user-specified template refs.Fixes #2710