diff --git a/package.json b/package.json index aeb010b..98999f0 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "@umijs/plugin-sass": "^1.1.1", "@umijs/preset-react": "1.x", "@umijs/test": "^3.2.19", - "antd": "^4.2.3", + "antd": "^4.7.0", "antd-img-crop": "^3.10.0", "axios": "^0.19.2", "chatbot-antd": "^0.6.0", diff --git a/src/components/PanelComponents/DataList/editorModal.tsx b/src/components/PanelComponents/DataList/editorModal.tsx index e39c423..cfa6542 100644 --- a/src/components/PanelComponents/DataList/editorModal.tsx +++ b/src/components/PanelComponents/DataList/editorModal.tsx @@ -1,5 +1,5 @@ import React, { memo, useEffect, FC } from 'react'; -import { Form, Select, Input, Modal } from 'antd'; +import { Form, Select, Input, Modal, Button } from 'antd'; import Upload from '../Upload'; import { Store } from 'antd/lib/form/interface'; import { TDataListDefaultTypeItem } from '../FormEditor/types'; @@ -28,6 +28,7 @@ export type EditorModalProps = { const EditorModal: FC = props => { const { item, onSave, visible, onCancel } = props; const onFinish = (values: Store) => { + console.log(values); onSave && onSave(values); }; const handleOk = () => { @@ -47,21 +48,25 @@ const EditorModal: FC = props => { const [form] = Form.useForm(); useEffect(() => { - return () => { + if (form && item && visible) { form.resetFields(); - }; - }, [item]); - + } + }, [form, item, visible]); return ( <> {!!item && ( handleOk()}> + 确定 + + } >
{ + console.log('a'); setVisible(false); }, []); const handleEdit = useCallback((item: TDataListDefaultTypeItem) => { + console.log('b'); setVisible(true); setCurItem(item); }, []); const handleSave = useCallback( (item: TDataListDefaultTypeItem) => { + console.log('c'); setVisible(false); if (onChange) { onChange(list!.map(p => (p.id === item.id ? item : p))); @@ -186,7 +189,7 @@ const List = function(props: DataListType) { } setList(prev => prev!.map(p => (p.id === item.id ? item : p))); }, - [curItem], + [list, onChange], ); const handleAdd = () => { diff --git a/src/components/PanelComponents/FormEditor/index.tsx b/src/components/PanelComponents/FormEditor/index.tsx index 195c453..dc9befc 100644 --- a/src/components/PanelComponents/FormEditor/index.tsx +++ b/src/components/PanelComponents/FormEditor/index.tsx @@ -1,4 +1,4 @@ -import React, { memo, useEffect, useMemo } from 'react'; +import React, { memo, useEffect } from 'react'; import { Form, Select, InputNumber, Input, Switch, Radio, Button } from 'antd'; import Upload from '../Upload'; import DataList from '../DataList'; @@ -40,7 +40,6 @@ const FormEditor = (props: FormEditorProps) => { const onFinish = (values: Store) => { onSave && onSave(values); }; - const handleDel = () => { onDel && onDel(uid); }; @@ -51,12 +50,12 @@ const FormEditor = (props: FormEditorProps) => { return () => { form.resetFields(); }; - }, [defaultValue, form]); + }, [uid, form]); - const handleInputChange = (values: any) => { - let btn = document.getElementById('btn'); - btn?.click(); + const handlechange = () => { + onFinish(form.getFieldsValue()); }; + return ( { {...formItemLayout} onFinish={onFinish} initialValues={defaultValue} + onValuesChange={handlechange} > {config.map((item, i) => { return ( {item.type === 'Number' && ( - + )} {item.type === 'Text' && ( - + )} {item.type === 'TextArea' && ( -