diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 3947f95a..09d2b3c5 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -254,7 +254,12 @@ const formActionType: FormActionType = { onMounted(() => { initDefault() - emit('register', formActionType) + if (props.register) { + props.register(formActionType) + } + else { + emit('register', formActionType) + } }) const getFormActionBindProps = computed(() => ({ ...getProps.value, ...advanceState }) as InstanceType['$props']) diff --git a/src/components/Form/src/props.ts b/src/components/Form/src/props.ts index 7bf32f65..eb881c78 100644 --- a/src/components/Form/src/props.ts +++ b/src/components/Form/src/props.ts @@ -1,12 +1,13 @@ import type { CSSProperties, PropType } from 'vue' import type { ButtonProps } from 'ant-design-vue/es/button/buttonTypes' import type { RowProps } from 'ant-design-vue/lib/grid/Row' -import type { FieldMapToTime, FormSchema } from './types/form' +import type { FieldMapToTime, FormActionType, FormSchema } from './types/form' import type { ColEx } from './types' import type { TableActionType } from '@/components/Table' import { propTypes } from '@/utils/propTypes' export const basicProps = { + register: Function as PropType<(instance: FormActionType) => void>, model: { type: Object as PropType, default: () => ({}), diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue index 33ad9b2a..4f783422 100644 --- a/src/components/Table/src/BasicTable.vue +++ b/src/components/Table/src/BasicTable.vue @@ -286,7 +286,12 @@ createTableContext({ ...tableAction, wrapRef, getBindValues }) defineExpose(tableAction) -emit('register', tableAction, formActions) +if (props.register) { + props.register(tableAction, formActions) +} +else { + emit('register', tableAction, formActions) +}