///
///
///
///
export interface FormConfig {
validateConfig?: any,
values?: Map,
status?: Map,
globalStatus?: Status,
interceptor?: Map void>,
initialized: () => void,
autoValidate: Boolean, // 值改变自动触发校验
disabledSyncChilcForm, // 低级API, 仅框架内部使用
}
export interface FormCore {
/** onChange函数,当字段变更时触发 */
onChange: (firekeys: Array, values: Object, ctx: FormCore) => void,
/** 子项Map, 包含FormItem/Item/If */
children: Array,
/** 子项列表, 包含FormItem/Item/If */
childrenMap: Map,
/** 手动触发值变更还是API触发 */
currentEventType: ('api' | 'manual'),
/** 是否启用自动校验,当字段切换时触发 */
autoValidate: Boolean,
/** 全局状态 */
globalStatus: Status,
/** 是否初始化完成 */
initialized: Boolean,
/** 校验规则 */
validateConfig: any, // 与asyncHandler完全一致
/** 切面,值变更时触发,能够改变最后结果 */
interceptor: Map any>,
/** 基础数据维度 */
value: Map,
status: Map,
error: Map,
props: Map,
/** 事件总线 */
emitter: EventEmitter,
/** 唯一 */
id: String,
/** 事件监听原子方法 */
on: (key: String, callback: (payload: any) => void) => void,
/** 事件触发原始方法 */
emit: (key: String, payload: any) => void,
/** 移除事件监听 */
removeListener: () => void,
/** 值变更时触发,通知JSX更新 */
handleChange: (name: String) => {},
/** 检验单字段 */
validateItem: (name: String, cb: () => void, opts: Object) => Promise,
/** 校验全部字段,返回prmise<错误信息> */
validateAll: (cb: () => Object) => Promise,
/** 通用的校验方法,可以决定是否触发渲染 */
validateBase: (cb: () => Object, withRender: Boolean) => Promise,
/** 校验, 返回prmise<错误信息> */
validate: (cb: () => Object) => Promise,
/** 滚动到第一个错误信息的位置 */
scrollToError: () => void,
/** 处理错误信息,内部使用 */
handleErrors: (withRender: Boolean, errs: Map) => Map,
/** 设置值,触发渲染 */
setValues: (values: Map) => void
/** 设置状态 */
setStatus: (status: Map) => void
/** 设置值,触发渲染 */
setErrors: (errors: Map) => void
/** 设置值,触发渲染 */
setProps: (props: Map) => void
/** 设置单字段值,触发渲染 */
setItemValues: (name: String, value: any) => void
/** 设置单字段状态 */
setItemStatus: (name: String, status: Status) => void
/** 设置单字段值,触发渲染 */
setItemErrors: (name: String, error: any) => void
/** 设置单字段值,触发渲染 */
setItemProps: (name: String, props: Object) => void
/** 静默设置值, 不触发渲染, 不触发校验 */
setValueSilent: (values: Map) => void,
/** 重置值,可根据keys来设置,默认为全部keys */
reset: (keys: Array) => void,
/** 设置全局状态 */
setGlobalStatus: (Status) => void,
/** 获取全局状态 */
getGlobalStatus: () => Status,
/** 获取所有值, type为类型 */
getAll: (type: EventType, name: String) => Map,
/** 获取单类型,经过filter(内部用于过滤大对象或非法对象) */
get: (type: EventType, name: String) => Map,
/** 绑定子表单项(FormItem/Item/If) */
addField: (props: FieldProps) => void,
/** 更新子表单项(FormItem/Item/If) */
updateField: (props: FieldProps) => void,
/** 过滤大对象,主要用于无线嵌套Form的内部实现,业务层不会用到 */
filter: (value: Object) => Map,
/** 更新校验规则 */
setValidateConfig: (config: any) => void
}
export interface FormCore_Static {
new (formConfig: FormConfig): FormCore
}