Closed zxj176381 closed 1 day ago
Vben Admin V5
Bug: useVbenModal 中使用 useVbenForm 后 当页面中有两个 useVbenForm vbenForm 组件只会执行一次
<script lang="ts" setup> import { useVbenModal } from '@vben/common-ui'; import { message } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; defineOptions({ name: 'FormModelDemo', }); function onSubmit(values: Record<string, any>) { message.info(JSON.stringify(values)); // 只会执行一次 } const [Form, formApi] = useVbenForm({ handleSubmit: onSubmit, schema: [ { component: 'Input', componentProps: { placeholder: '请输入', }, fieldName: 'field1', label: '字段1', rules: 'required', }, { component: 'Input', componentProps: { placeholder: '请输入', }, fieldName: 'field2', label: '字段2', rules: 'required', }, { component: 'Select', componentProps: { options: [ { label: '选项1', value: '1' }, { label: '选项2', value: '2' }, ], placeholder: '请输入', }, fieldName: 'field3', label: '字段3', rules: 'required', }, ], showDefaultActions: false, }); const [Form2, formApi2] = useVbenForm({ handleSubmit: onSubmit, schema: [ { component: 'Input', componentProps: { placeholder: '请输入', }, fieldName: 'field1', label: '字段1', rules: 'required', }, { component: 'Input', componentProps: { placeholder: '请输入', }, fieldName: 'field2', label: '字段2', rules: 'required', }, { component: 'Select', componentProps: { options: [ { label: '选项1', value: '1' }, { label: '选项2', value: '2' }, ], placeholder: '请输入', }, fieldName: 'field3', label: '字段3', rules: 'required', }, ], showDefaultActions: false, }); const [Modal, modalApi] = useVbenModal({ fullscreenButton: false, onCancel() { modalApi.close(); }, onConfirm: async () => { await formApi.validateAndSubmitForm(); // modalApi.close(); }, onOpenChange(isOpen: boolean) { if (isOpen) { const { values } = modalApi.getData<Record<string, any>>(); if (values) { formApi.setValues(values); } } }, title: '内嵌表单示例', }); </script> <template> <div> <Modal> <Form /> </Modal> <Form2 /> </div> </template>
Version
Vben Admin V5
Describe the bug?
Bug: useVbenModal 中使用 useVbenForm 后 当页面中有两个 useVbenForm vbenForm 组件只会执行一次
Reproduction
System Info
Relevant log output
Validations