diff --git a/src/components/DiyEditor/components/ComponentContainerProperty.vue b/src/components/DiyEditor/components/ComponentContainerProperty.vue index 25119a5b..5d18785a 100644 --- a/src/components/DiyEditor/components/ComponentContainerProperty.vue +++ b/src/components/DiyEditor/components/ComponentContainerProperty.vue @@ -51,7 +51,8 @@ diff --git a/src/components/DiyEditor/components/mobile/CouponCard/property.vue b/src/components/DiyEditor/components/mobile/CouponCard/property.vue index 4f69000b..5d151bf9 100644 --- a/src/components/DiyEditor/components/mobile/CouponCard/property.vue +++ b/src/components/DiyEditor/components/mobile/CouponCard/property.vue @@ -73,7 +73,7 @@ diff --git a/src/components/DiyEditor/components/mobile/HotZone/property.vue b/src/components/DiyEditor/components/mobile/HotZone/property.vue index 495cbdce..65892f85 100644 --- a/src/components/DiyEditor/components/mobile/HotZone/property.vue +++ b/src/components/DiyEditor/components/mobile/HotZone/property.vue @@ -20,7 +20,7 @@ diff --git a/src/components/DiyEditor/components/mobile/MagicCube/property.vue b/src/components/DiyEditor/components/mobile/MagicCube/property.vue index fe938e5b..dee3117b 100644 --- a/src/components/DiyEditor/components/mobile/MagicCube/property.vue +++ b/src/components/DiyEditor/components/mobile/MagicCube/property.vue @@ -56,7 +56,7 @@ diff --git a/src/components/DiyEditor/components/mobile/MenuList/property.vue b/src/components/DiyEditor/components/mobile/MenuList/property.vue index a5fb4603..b665b320 100644 --- a/src/components/DiyEditor/components/mobile/MenuList/property.vue +++ b/src/components/DiyEditor/components/mobile/MenuList/property.vue @@ -28,7 +28,7 @@ diff --git a/src/components/DiyEditor/components/mobile/MenuSwiper/property.vue b/src/components/DiyEditor/components/mobile/MenuSwiper/property.vue index fbae83c2..3dd3f7c3 100644 --- a/src/components/DiyEditor/components/mobile/MenuSwiper/property.vue +++ b/src/components/DiyEditor/components/mobile/MenuSwiper/property.vue @@ -58,7 +58,7 @@ diff --git a/src/components/DiyEditor/components/mobile/NavigationBar/components/CellProperty.vue b/src/components/DiyEditor/components/mobile/NavigationBar/components/CellProperty.vue index f6176d23..2494e069 100644 --- a/src/components/DiyEditor/components/mobile/NavigationBar/components/CellProperty.vue +++ b/src/components/DiyEditor/components/mobile/NavigationBar/components/CellProperty.vue @@ -64,7 +64,7 @@ diff --git a/src/components/DiyEditor/components/mobile/PageConfig/property.vue b/src/components/DiyEditor/components/mobile/PageConfig/property.vue index 278bc940..d8f51d26 100644 --- a/src/components/DiyEditor/components/mobile/PageConfig/property.vue +++ b/src/components/DiyEditor/components/mobile/PageConfig/property.vue @@ -20,7 +20,7 @@ diff --git a/src/components/DiyEditor/components/mobile/Popover/property.vue b/src/components/DiyEditor/components/mobile/Popover/property.vue index 2dd43519..21be46ef 100644 --- a/src/components/DiyEditor/components/mobile/Popover/property.vue +++ b/src/components/DiyEditor/components/mobile/Popover/property.vue @@ -25,14 +25,14 @@ diff --git a/src/components/DiyEditor/components/mobile/ProductCard/property.vue b/src/components/DiyEditor/components/mobile/ProductCard/property.vue index 110c8be9..91846e66 100644 --- a/src/components/DiyEditor/components/mobile/ProductCard/property.vue +++ b/src/components/DiyEditor/components/mobile/ProductCard/property.vue @@ -135,7 +135,7 @@ diff --git a/src/components/DiyEditor/components/mobile/ProductList/property.vue b/src/components/DiyEditor/components/mobile/ProductList/property.vue index 894687c2..d7a5a7cd 100644 --- a/src/components/DiyEditor/components/mobile/ProductList/property.vue +++ b/src/components/DiyEditor/components/mobile/ProductList/property.vue @@ -85,7 +85,7 @@ diff --git a/src/components/DiyEditor/components/mobile/PromotionArticle/property.vue b/src/components/DiyEditor/components/mobile/PromotionArticle/property.vue index c3bcb21b..10c5840e 100644 --- a/src/components/DiyEditor/components/mobile/PromotionArticle/property.vue +++ b/src/components/DiyEditor/components/mobile/PromotionArticle/property.vue @@ -25,7 +25,7 @@ diff --git a/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue b/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue index 61287590..594c10bc 100644 --- a/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue +++ b/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue @@ -140,7 +140,7 @@ diff --git a/src/components/DiyEditor/components/mobile/TabBar/property.vue b/src/components/DiyEditor/components/mobile/TabBar/property.vue index d1da142b..e4350121 100644 --- a/src/components/DiyEditor/components/mobile/TabBar/property.vue +++ b/src/components/DiyEditor/components/mobile/TabBar/property.vue @@ -80,13 +80,13 @@ diff --git a/src/components/DiyEditor/components/mobile/UserCoupon/property.vue b/src/components/DiyEditor/components/mobile/UserCoupon/property.vue index f902e04e..221cc90a 100644 --- a/src/components/DiyEditor/components/mobile/UserCoupon/property.vue +++ b/src/components/DiyEditor/components/mobile/UserCoupon/property.vue @@ -4,14 +4,14 @@ diff --git a/src/components/DiyEditor/components/mobile/UserOrder/property.vue b/src/components/DiyEditor/components/mobile/UserOrder/property.vue index 42df7410..d315db6a 100644 --- a/src/components/DiyEditor/components/mobile/UserOrder/property.vue +++ b/src/components/DiyEditor/components/mobile/UserOrder/property.vue @@ -4,14 +4,14 @@ diff --git a/src/components/DiyEditor/components/mobile/UserWallet/property.vue b/src/components/DiyEditor/components/mobile/UserWallet/property.vue index 549367e3..e0ac83e4 100644 --- a/src/components/DiyEditor/components/mobile/UserWallet/property.vue +++ b/src/components/DiyEditor/components/mobile/UserWallet/property.vue @@ -4,14 +4,14 @@ diff --git a/src/components/DiyEditor/components/mobile/VideoPlayer/property.vue b/src/components/DiyEditor/components/mobile/VideoPlayer/property.vue index 7598543b..1c3deec6 100644 --- a/src/components/DiyEditor/components/mobile/VideoPlayer/property.vue +++ b/src/components/DiyEditor/components/mobile/VideoPlayer/property.vue @@ -42,14 +42,14 @@ diff --git a/src/components/DiyEditor/util.ts b/src/components/DiyEditor/util.ts index fac26e75..b6febb97 100644 --- a/src/components/DiyEditor/util.ts +++ b/src/components/DiyEditor/util.ts @@ -1,4 +1,3 @@ -import { ref, Ref } from 'vue' import { PageConfigProperty } from '@/components/DiyEditor/components/mobile/PageConfig/config' import { NavigationBarProperty } from '@/components/DiyEditor/components/mobile/NavigationBar/config' import { TabBarProperty } from '@/components/DiyEditor/components/mobile/TabBar/config' @@ -78,34 +77,6 @@ export interface PageConfig { // 页面组件,只保留组件ID,组件属性 export interface PageComponent extends Pick, 'id' | 'property'> {} -// 属性表单监听 -export function usePropertyForm(modelValue: T, emit: Function): { formData: Ref } { - const formData = ref() - // 监听属性数据变动 - watch( - () => modelValue, - () => { - formData.value = modelValue - }, - { - deep: true, - immediate: true - } - ) - // 监听表单数据变动 - watch( - () => formData.value, - () => { - emit('update:modelValue', formData.value) - }, - { - deep: true - } - ) - - return { formData } as { formData: Ref } -} - // 页面组件库 export const PAGE_LIBS = [ { diff --git a/src/components/Draggable/index.vue b/src/components/Draggable/index.vue index 3d7906b9..bd153a4f 100644 --- a/src/components/Draggable/index.vue +++ b/src/components/Draggable/index.vue @@ -13,9 +13,16 @@ class="mb-4px flex flex-col gap-4px border border-gray-2 border-rounded rounded border-solid p-8px" > -
+
- + // 拖拽组件 import VueDraggable from 'vuedraggable' -import { usePropertyForm } from '@/components/DiyEditor/util' +import { useVModel } from '@vueuse/core' import { any, array } from 'vue-types' import { propTypes } from '@/utils/propTypes' import { cloneDeep } from 'lodash-es' @@ -66,7 +73,7 @@ const props = defineProps({ }) // 定义事件 const emit = defineEmits(['update:modelValue']) -const { formData } = usePropertyForm(props.modelValue, emit) +const formData = useVModel(props, 'modelValue', emit) // 处理添加 const handleAdd = () => formData.value.push(cloneDeep(props.emptyItem || {}))