在Vue 3和TypeScript中使用Ant Design Vue 3创建一个Modal表单,你可以使用Modal
组件的form
属性来简化表单的创建过程。以下是一个简单的例子:
<template>
<a-button type="primary" @click="showModal">
打开表单Modal
</a-button>
<a-modal
v-model:visible="isModalVisible"
title="表单Modal"
:width="600"
:bodyStyle="{ padding: '24px 24px 0' }"
destroyOnClose
:maskClosable="false"
:modalRender="modalRender"
/>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
import { Modal, Form, Input, Button } from 'ant-design-vue';
export default defineComponent({
setup() {
const isModalVisible = ref<boolean>(false);
const showModal = () => {
isModalVisible.value = true;
};
const modalRender = (formProps: any) => {
return (
<Form {...formProps}>
<Form.Item label="名称" name="name">
<Input />
</Form.Item>
<Form.Item label="描述" name="description">
<Input.TextArea />
</Form.Item>
<Form.Item wrapperCol={{ offset: 4, span: 16 }}>
<Button type="primary" htmlType="submit">
提交
</Button>
<Button type="link" onClick={formProps.onReset}>
重置
</Button>
</Form.Item>
</Form>
);
};
return {
isModalVisible,
showModal,
modalRender,
};
},
});
</script>
在这个例子中,我们创建了一个Modal窗口,并通过modalRender
属性定义了一个渲染函数,该函数使用Form
组件来渲染一个表单。当用户点击打开表单的按钮时,showModal
函数被触发,显示Modal窗口。用户填写表单并提交后,Modal窗口将关闭。