import { DataEvent, EffectFuncProps, Field, FieldRenderProps, FormMeta, ValidateTrigger, WorkflowNodeRegistry, } from '@flowgram.ai/free-layout-editor'; import { FieldWrapper } from '@flowgram.ai/demo-node-form'; import { Input } from '@douyinfe/semi-ui'; import '../index.css'; const render = () => (
Effect Examples
{({ field }: FieldRenderProps) => ( )} {({ field }: FieldRenderProps) => ( )} {({ field }: FieldRenderProps) => ( )}
); interface FormData { field1: string; field2: string; field3: string; } const formMeta: FormMeta = { render, validateTrigger: ValidateTrigger.onChange, effect: { field1: [ { event: DataEvent.onValueChange, effect: ({ value }: EffectFuncProps) => { console.log('field1 value:', value); }, }, ], field2: [ { event: DataEvent.onValueChange, effect: ({ value, form }: EffectFuncProps) => { form.setValueIn('field3', 'field2 value is ' + value); }, }, ], }, }; export const nodeRegistry: WorkflowNodeRegistry = { type: 'custom', meta: {}, defaultPorts: [{ type: 'output' }, { type: 'input' }], formMeta, };