///
///
///
export interface FieldProps {
/** 当前item的表单核心 */
form: FormCore,
/** 事件监听原子方法 */
on: (key: String, callback: (payload: Any) => void) => void,
/** 事件触发原始方法 */
emit: (key: String, payload: Any) => void,
/** 移除事件监听 */
removeListener: () => void,
}
export interface ItemCore {
/** 当前item的表单核心 */
form: FormCore,
/** 事件监听原子方法 */
on: (key: String, callback: (payload: Any) => void) => void,
/** 事件触发原始方法 */
emit: (key: String, payload: Any) => void,
/** 移除事件监听 */
removeListener: () => void,
/** 当前字段名 */
name: String,
/** 当前字段值 */
value: Any,
/** 当前字段属性 */
props: Object,
/** 当前字段状态 */
status: Status,
/** 决定是否需展示,值变更时触发 */
when: (values: Any, ctx: FormCore) => Boolean,
/** 嵌套If的父If */
parentIf: ItemCore,
/** 错误 */
error: Any,
/** 校验规则 */
validateConfig: Any,
/** 切面,值变更时触发,决定最终值的设定 */
interceptor: (value: Any, ctx: FormCore) => Any,
/** FormItem/Item的子项,主要是子表单或者非常复杂的组件进行子项校验时用到 */
subField,
/** 唯一Id */
id: String,
/** 获取单类型维度数据 */
get: (type: EventType) => Any,
/** 设置单类型维度数据, escape用于对象型数据, silent是否触发渲染 */
set: (type: EventType, value: Any, escape: Boolean, silent: Boolean) => Any,
/** 设置校验规则 */
setValidateConfig: (Any) => void,
/** 每次事件通知需要重新渲染前执行,更新所有ItemCore相关字段 */
selfConsistent: () => void,
/** 重新计算ItemCore的props字段 */
consistProps: () => void,
/** 重新计算ItemCore的status字段 */
consistStatus: (value: Any, silent: Boolean) => void,
/** 计算when的结果 */
calulateWhen: (value: Any, when: (value: Any, form: FormCore) => Boolean) => Boolean,
/** 计算嵌套If的整体结果(整条链路的 且 结果) */
calculateIfList: (value: Any) => Boolean,
/** 重新计算ItemCore的when字段, 副作用是决定元素是否显示 */
consistWhen: (value: Any, status: Status) => void,
/** 重新计算校验规则,用于实现动态校验规则 */
consistValidate: () => void
}
export interface ItemCore_Static {
new (fieldProps: FieldProps): ItemCore
}
export default ItemCore;