epic-designer
Version:
基于vue3的设计器,可视化开发页面表单
21 lines (20 loc) • 686 B
TypeScript
export type FieldStateType = 'DISABLED' | 'HIDE' | 'READ' | 'WRITE';
export interface FieldState {
/** 其他扩展属性(如权限标识、作用域等) */
[key: string]: any;
/**
* 动态控制条件(可选)
* @param formData - 当前表单数据
* @returns 返回 true 时应用当前 state,否则忽略
*/
condition?: (formData: any) => boolean;
/** 字段路径(支持嵌套,如 "user.email" 或 "BAILOR.REAL_NAME") */
field: string;
required?: boolean;
/** 字段状态 */
state: FieldStateType;
}
export type FieldStates = FieldState[];
export type FieldStateMap = {
[fieldPath: string]: FieldState;
};