import React from 'react'; import { Form, Input, Row, Col } from 'antd'; import { StateConfig, ModelStateConfig, ObjectPropsSyncChange } from '@easytwin/core'; import { LockIcon, BlurInput } from '@/components'; export interface ModelFormProp { dataSource: StateConfig; onChange: (data: ModelStateConfig) => void; } type FormValuesChangeType = Partial; export default function ModelForm({ dataSource, onChange }: ModelFormProp) { const [form] = Form.useForm(); React.useEffect(() => { form.setFieldsValue(dataSource); }, [form, dataSource]); const handleVlaueChange = (changedValue: FormValuesChangeType) => { onChange?.( ObjectPropsSyncChange( dataSource as ModelStateConfig, { ...dataSource, ...changedValue } as ModelStateConfig, 'lockedScale', ['scaleX', 'scaleY', 'scaleZ'], ), ); }; return (
{/* position */} {/* rotation */} {/* scale */} 缩放 handleVlaueChange({ lockedScale, }) } /> } className="!mb-2">
); }