UNPKG

@tplc/business

Version:

40 lines (35 loc) 926 B
import { FORM_KEY, PAGE_DYNAMIC_DATA } from '../constants' import { computed, inject, Ref } from 'vue' const useSyncForm = (dynamicScope?: string) => { /** 上下文全局 */ const globalForm = inject(FORM_KEY) as Ref<Record<string, any>> /** 上下文局部form */ const pageDynamicData = inject(PAGE_DYNAMIC_DATA) as Ref<Record<string, any>> const syncForm = (params: Record<string, any>) => { if (dynamicScope) { pageDynamicData.value[dynamicScope] = { ...pageDynamicData.value[dynamicScope], ...params, } } else { globalForm.value = { ...globalForm.value, ...params, } } } const form = computed(() => { if (dynamicScope) { return { ...globalForm?.value, ...pageDynamicData.value[dynamicScope], } } return globalForm?.value }) return { syncForm, form, } } export default useSyncForm