From fff3eb9498ff8e453a6cc4a5d0ead894d1265f20 Mon Sep 17 00:00:00 2001 From: pany <939630029@qq.com> Date: Sun, 4 Feb 2024 17:14:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=87=E7=94=A8=20vue=203.4=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9A=84=20defineModel=20=E5=AE=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SearchMenu/SearchModal.vue | 24 ++++------------------ src/components/SearchMenu/SearchResult.vue | 24 ++++++---------------- 2 files changed, 10 insertions(+), 38 deletions(-) diff --git a/src/components/SearchMenu/SearchModal.vue b/src/components/SearchMenu/SearchModal.vue index 345ec4e..e185e38 100644 --- a/src/components/SearchMenu/SearchModal.vue +++ b/src/components/SearchMenu/SearchModal.vue @@ -10,15 +10,8 @@ import { cloneDeep, debounce } from "lodash-es" import { DeviceEnum } from "@/constants/app-key" import { isExternal } from "@/utils/validate" -interface Props { - /** 控制 modal 显隐 */ - modelValue: boolean -} - -const props = defineProps() -const emit = defineEmits<{ - "update:modelValue": [boolean] -}>() +/** 控制 modal 显隐 */ +const modelValue = defineModel({ required: true }) const appStore = useAppStore() const router = useRouter() @@ -35,15 +28,6 @@ const isPressUpOrDown = ref(false) /** 控制搜索对话框宽度 */ const modalWidth = computed(() => (appStore.device === DeviceEnum.Mobile ? "80vw" : "40vw")) -/** 控制搜索对话框显隐 */ -const modalVisible = computed({ - get() { - return props.modelValue - }, - set(value: boolean) { - emit("update:modelValue", value) - } -}) /** 树形菜单 */ const menusData = computed(() => cloneDeep(usePermissionStore().routes)) @@ -69,7 +53,7 @@ const flatTree = (arr: RouteRecordRaw[], result: RouteRecordRaw[] = []) => { /** 关闭搜索对话框 */ const handleClose = () => { - modalVisible.value = false + modelValue.value = false // 延时处理防止用户看到重置数据的操作 setTimeout(() => { keyword.value = "" @@ -166,7 +150,7 @@ const handleReleaseUpOrDown = () => {