import React from 'react'; import { Input, Row, Col, Form, Checkbox } from 'antd'; import { StateInfo, ProjectStateConfig, FileInfo, FileTypeEnum } from '@easytwin/core'; import { SliderInput, ColorInput } from '@/components'; import { FileCard } from '@/pages/FileManage/components'; export interface ProjectFormProp { dataSource: StateInfo['config']; onChange: (data: ProjectStateConfig) => void; } type FormValuesChangeType = Omit & { hdrFileId?: FileInfo; }; const ProjectForm: React.FC = function ({ dataSource, onChange }) { const [form] = Form.useForm(); React.useEffect(() => { form.setFieldsValue(dataSource); }, [form, dataSource]); return (
{ const { hdrFileId } = changedValue; const newData: ProjectStateConfig = { ...(dataSource as ProjectStateConfig), ...changedValue, hdrFileId: (dataSource as ProjectStateConfig).hdrFileId, }; if (hdrFileId) { newData.hdrFileId = hdrFileId.id; newData.hdrFileUrl = hdrFileId.url; } onChange(newData); }}> {/* 天光颜色 */} {/* 天光强度 */} {/* 场景背景 */} {/* useHdr */} {/* hdrFileId */} {(dataSource as ProjectStateConfig)?.useHdr && ( onChange({ ...(dataSource as ProjectStateConfig), hdrFileId: null, hdrFileUrl: null, }) } /> )}
); }; export default ProjectForm;