/** * useDynamicForm Hook * * 职责: * 1. 管理表单状态 * 2. 处理字段可见性和禁用状态 * 3. 表单验证 * * 原则: * - 不包含任何硬编码数据 * - 所有字段配置从外部传入 * - 完全动态 */ import type { FormFieldSchema, OptionSchema } from '@flow-designer/core'; export interface UseDynamicFormOptions { /** 表单字段配置(从外部传入) */ schema: FormFieldSchema[]; /** 初始值(从外部传入) */ initialValues?: Record; /** 值变化回调 */ onChange?: (values: Record) => void; /** 选项加载器(从外部传入) */ optionsLoader?: (field: FormFieldSchema) => Promise; /** 自定义验证器(从外部传入) */ validators?: Record boolean | Promise>; } export interface UseDynamicFormReturn { /** 当前表单值 */ values: Record; /** 表单错误 */ errors: Record; /** 可见字段列表 */ visibleFields: FormFieldSchema[]; /** 设置字段值 */ setValue: (name: string, value: any) => void; /** 批量设置值 */ setValues: (values: Record) => void; /** 获取字段值 */ getValue: (name: string) => any; /** 判断字段是否可见 */ isFieldVisible: (field: FormFieldSchema) => boolean; /** 判断字段是否禁用 */ isFieldDisabled: (field: FormFieldSchema) => boolean; /** 获取字段选项 */ getFieldOptions: (field: FormFieldSchema) => OptionSchema[]; /** 验证单个字段 */ validateField: (name: string) => Promise; /** 验证整个表单 */ validateForm: () => Promise; /** 重置表单 */ reset: () => void; } export declare function useDynamicForm(options: UseDynamicFormOptions): UseDynamicFormReturn; //# sourceMappingURL=useDynamicForm.d.ts.map