1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| import { Form, Input, Modal, Select } from 'antd';
| import { forwardRef, useEffect, useImperativeHandle, useState } from 'react';
|
| const formItemLayout = {
| labelCol: { span: 7 },
| wrapperCol: { span: 12 },
| };
|
| const AddEditView = ({ visible, onSave, onUpdate, onCancel, }, ref) => {
| const [form] = Form.useForm();
| const [editData, setEditData] = useState({});
|
| /**
| * 确定按钮事件
| */
| const okHandle = () => {
| form.validateFields().then((values) => {
| if (editData.id) {
| values.id = editData.id;
| onUpdate(values);
| } else {
| onSave(values);
| }
| });
| };
|
| useImperativeHandle(ref, () => {
| return {
| refreshData: (data) => {
| form.resetFields();
| form.setFieldsValue(data);
| setEditData(data);
| },
| clean: () => {
| form.resetFields();
| },
| };
| });
|
| return (
| <Modal
| getContainer={false}
| width="25%"
| destroyOnClose
| title={editData.id ? '编辑问题类型' : '添加问题类型'}
| open={visible}
| onCancel={() => onCancel(false)}
| onOk={okHandle}
| >
| <Form layout="horizontal" {...formItemLayout} form={form}>
| <Form.Item
| name="name"
| label="问题名称"
| rules={[{ required: true, message: '请输入' }]}
| >
| <Input placeholder="请输入" />
| </Form.Item>
| </Form>
| </Modal>
| );
| };
|
| export default forwardRef(AddEditView);
|
|