Skip to content

Commit 161939a

Browse files
committed
fix(useTemplateRef): multiple refs with the same key
close #12246
1 parent f94a0c0 commit 161939a

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

packages/runtime-core/src/rendererTemplateRef.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,11 @@ export function setRef(
115115
} else {
116116
if (!isArray(existing)) {
117117
if (_isString) {
118-
refs[ref] = [refValue]
119-
if (canSetSetupRef(ref)) {
120-
setupState[ref] = refs[ref]
118+
if (oldRef !== ref) {
119+
refs[ref] = [refValue]
120+
if (canSetSetupRef(ref)) {
121+
setupState[ref] = refs[ref]
122+
}
121123
}
122124
} else {
123125
ref.value = [refValue]
@@ -128,9 +130,11 @@ export function setRef(
128130
}
129131
}
130132
} else if (_isString) {
131-
refs[ref] = value
132-
if (canSetSetupRef(ref)) {
133-
setupState[ref] = value
133+
if (oldRef !== ref) {
134+
refs[ref] = value
135+
if (canSetSetupRef(ref)) {
136+
setupState[ref] = value
137+
}
134138
}
135139
} else if (_isRef) {
136140
ref.value = value

0 commit comments

Comments
 (0)