fix: menu selectedKeys & openKeys support deep watch

feat-update-ts
tangjinzhou 2022-03-23 22:07:06 +08:00
parent d137971e0a
commit 7bf1e0dda1
1 changed files with 6 additions and 4 deletions

View File

@ -139,9 +139,11 @@ export default defineComponent({
watch( watch(
() => props.selectedKeys, () => props.selectedKeys,
selectedKeys => { selectedKeys => {
mergedSelectedKeys.value = selectedKeys || mergedSelectedKeys.value; if (selectedKeys) {
mergedSelectedKeys.value = selectedKeys.slice();
}
}, },
{ immediate: true }, { immediate: true, deep: true },
); );
const selectedSubMenuKeys = ref([]); const selectedSubMenuKeys = ref([]);
@ -212,10 +214,10 @@ export default defineComponent({
() => props.openKeys, () => props.openKeys,
(openKeys = mergedOpenKeys.value) => { (openKeys = mergedOpenKeys.value) => {
if (!shallowEqual(mergedOpenKeys.value, openKeys)) { if (!shallowEqual(mergedOpenKeys.value, openKeys)) {
mergedOpenKeys.value = openKeys; mergedOpenKeys.value = openKeys.slice();
} }
}, },
{ immediate: true }, { immediate: true, deep: true },
); );
let timeout: any; let timeout: any;