import { ErrorSchema } from './ErrorSchema';
|
|
export interface DFGridSizeSchema {
|
span?: number;
|
order?: number;
|
offset?: number;
|
push?: number;
|
pull?: number;
|
}
|
|
export interface DFGridSchema {
|
itemattrs?: any;
|
widgetattrs?: any;
|
}
|
|
export interface DFRenderSchema {
|
/**
|
* 小部件名称
|
*/
|
widget?: string;
|
|
/**
|
* 元素组件大小
|
*/
|
size?: 'default' | 'large' | 'small';
|
|
/**
|
* <form-item>属性
|
*/
|
itemattrs?: any;
|
|
/**
|
* 组件属性
|
*/
|
widgetattrs?: any;
|
|
}
|
|
export interface DFDataSchema {
|
/**
|
* 异步静态数据源
|
* - `input` 可能根据不同部件的情况存在值,例如:`autocomplete` 表示当前键入的值
|
* - 参数、返回值:可能根据不同部件需求而定,具体参阅相应小部件独立说明
|
*/
|
asyncData?: (input?: any) => Promise<any[]>;
|
}
|
|
/** 指定如何渲染 `Schema` */
|
export interface DFUISchemaItem
|
extends DFRenderSchema,
|
DFDataSchema,
|
ErrorSchema {
|
[key: string]: any;
|
|
/** 是否开启调试模式,在数据变更、校验会打印出相信信息,不建议在生产环境中使用 */
|
debug?: boolean;
|
|
/**
|
* 是否隐藏
|
*/
|
hidden?: boolean;
|
|
}
|
|
/**
|
* UI Schema,KEY名**务必**是 `$` 开头(例如:`$name`、`$id`),以便能区分KEY值还是UI选项
|
* - 结构层级应同 `SFSchema` 一致
|
* - 当KEY为 `*` 时表示对所有子表单元素都有效
|
*/
|
export interface DFUISchema {
|
[key: string]: DFUISchemaItem;
|
}
|