<template> <BasicModal v-bind="$attrs" @register="register" title="Modal Title"> <BasicForm @register="registerForm" :model="model" /> </BasicModal> </template> <script lang="ts"> import { defineComponent, ref } from 'vue'; import { BasicModal, useModalInner } from '/@/components/Modal'; import { BasicForm, FormSchema, useForm } from '/@/components/Form/index'; const schemas: FormSchema[] = [ { field: 'field1', component: 'Input', label: '字段1', colProps: { span: 12, }, defaultValue: '111', }, { field: 'field2', component: 'Input', label: '字段2', colProps: { span: 12, }, }, ]; export default defineComponent({ components: { BasicModal, BasicForm }, setup() { const modelRef = ref({}); const [ registerForm, { // setFieldsValue, // setProps }, ] = useForm({ labelWidth: 120, schemas, showActionButtonGroup: false, actionColOptions: { span: 24, }, }); const [register] = useModalInner((data) => { // 方式1 // setFieldsValue({ // field2: data.data, // field1: data.info, // }); // 方式2 modelRef.value = { field2: data.data, field1: data.info }; // setProps({ // model:{ field2: data.data, field1: data.info } // }) }); return { register, schemas, registerForm, model: modelRef }; }, }); </script>