import React from 'react'; import { Form, Input, Row, Col, Checkbox } from 'antd'; import { StateInfo, PointStateConfig, FileInfo, FileTypeEnum, ObjectPropsSyncChange, } from '@easytwin/core'; import { LockIcon, BlurInput } from '@/components'; import { FileCard } from '@/pages/FileManage/components'; export interface PointFormProp { dataSource: StateInfo['config']; onChange: (data: PointStateConfig) => void; } type FormValuesChangeType = Omit & { imgFileId: FileInfo; }; const PointForm: React.FC = function ({ dataSource, onChange }) { const [form] = Form.useForm(); React.useEffect(() => { form.setFieldsValue(dataSource); }, [form, dataSource]); return (
{ const { imgFileId } = changedValue; const newData: PointStateConfig = { ...(dataSource as PointStateConfig), ...changedValue, imgFileId: (dataSource as PointStateConfig).imgFileId, }; if (imgFileId) { newData.imgFileId = imgFileId.id; newData.imgFileUrl = imgFileId.url; } onChange( ObjectPropsSyncChange(dataSource as PointStateConfig, newData, 'lockedSize', [ 'width', 'height', ]), ); }}> {/* 背景图 */} {/* 尺寸 */} {/* 顶层渲染 */}
); }; export default PointForm;