Skip to content

Commit 7bf1e0d

Browse files
committed
fix: menu selectedKeys & openKeys support deep watch
1 parent d137971 commit 7bf1e0d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

components/menu/src/Menu.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,11 @@ export default defineComponent({
139139
watch(
140140
() => props.selectedKeys,
141141
selectedKeys => {
142-
mergedSelectedKeys.value = selectedKeys || mergedSelectedKeys.value;
142+
if (selectedKeys) {
143+
mergedSelectedKeys.value = selectedKeys.slice();
144+
}
143145
},
144-
{ immediate: true },
146+
{ immediate: true, deep: true },
145147
);
146148

147149
const selectedSubMenuKeys = ref([]);
@@ -212,10 +214,10 @@ export default defineComponent({
212214
() => props.openKeys,
213215
(openKeys = mergedOpenKeys.value) => {
214216
if (!shallowEqual(mergedOpenKeys.value, openKeys)) {
215-
mergedOpenKeys.value = openKeys;
217+
mergedOpenKeys.value = openKeys.slice();
216218
}
217219
},
218-
{ immediate: true },
220+
{ immediate: true, deep: true },
219221
);
220222

221223
let timeout: any;

0 commit comments

Comments
 (0)