import React, { useEffect, useMemo, useState } from 'react'; import ProForm, { ProFormText, ProFormSelect, ProFormTextArea, ProFormSwitch, ProFormDigit, ProFormRadio, } from '@ant-design/pro-form'; import UploadImage from '@/components/UploadImage'; import UploadVideo from '@/components/UploadVideo'; import WangEditor from '@/components/WangEditor'; import request from '@/utils/request'; import { notification, Form } from 'antd'; export default (props) => { const [form] = Form.useForm(); const [isVideo, setIsVideo] = useState(false); const typeDict = useMemo(() => { return (props.typeList || []).reduce((acc, item) => { return { ...acc, [item.typeId]: item.name, }; }, {}); }, [props.typeList]); const handleSubmit = (values) => { const data = { ...props.post || {}, ...values, } if (!data.postId) { // 新增 return request('/post', { method: 'post', data }) .then((res) => { props.onChange(res); notification.success({ message: '操作成功' }); }) .catch((e) => { notification.error({ message: e.message }); return Promise.reject(e.message); }); } // 编辑 return request(`/post/${data.postId}`, { method: 'put', data }) .then((res) => { props.onChange(res); notification.success({ message: '操作成功' }); }) .catch((e) => { notification.error({ message: e.message }); return Promise.reject(e.message); }); }; const handleValueChange = (changed) => { const key = Object.keys(changed)[0]; if (key === 'isVideo') { setIsVideo(changed[key]); } }; useEffect(() => { if (props.post && props.post.postId) { form.setFieldsValue(props.post); setIsVideo(props.post.isVideo); } }, [props.post, form]); return ( {isVideo ? ( <> ) : ( )} ); };