Appearance
API 参考
配置项
查看详细的配置项说明:
核心配置接口
IRenderConfig
基础渲染配置,适用于表单、搜索表单、表格。
ts
interface IRenderConfig {
// 组件类型
type?: string
// 标签
label?: string
description?: string
// 联动
dependOn?: Array<string | IRenderConfigDependOn>
outDependOn?: Array<string>
// 额外输出
otherKey?: string | Array<string>
// 状态控制
writable?: boolean
readable?: boolean
disabled?: boolean
// 联动回调
changeConfig?: TChangeConfig
changeValue?: TChangeValue
resetValue?: boolean
changeValueByOld?: TChangeValueByOld
// 异步选项
asyncOptions?: (dependOnValue, outDependOnValues) => Promise<any[]>
// 其他
placeholder?: string
defaultValue?: any
width?: number | string
span?: number
}TFormConfig
表单配置,继承自 IRenderConfig。
ts
interface TFormConfig extends IRenderConfig {
// 验证相关
required?: boolean
requiredErrorMessage?: string
regexpValidate?: string
regexpValidateErrorMessage?: string
validateValue?: 'email' | 'identityCard' | 'mobilePhone'
validateValueErrorMessage?: string
// 自定义验证
customValidators?: Array<ICustomValidator>
customRequiredRule?: Function
// 其他
directory?: boolean // 是否显示在表单目录
}TSearchFormConfig
搜索表单配置。
ts
interface TSearchFormConfig extends IRenderConfig {
immediateSearch?: boolean // 变更时立即搜索
autoSelect?: boolean // 自动选择第一个选项
}TTableColumns
表格列配置。
ts
interface TTableColumns extends IRenderConfig {
columnType?: 'checkbox' | 'mainField'
hideItem?: boolean
dynamic?: boolean // dependOn 是否生效
fixed?: boolean | 'left' | 'right'
minWidth?: string
align?: 'left' | 'center' | 'right'
showOverflowTooltip?: boolean
selectable?: (params: { row, index }) => boolean
}IRenderConfigDependOn
依赖配置。
ts
interface IRenderConfigDependOn {
key: string
effect?: {
changeValue?: boolean | Function
changeConfig?: boolean | Function
resetValue?: boolean
} | boolean
}辅助函数
generateFieldList
将配置对象转换为字段列表。
ts
function generateFieldList<Entity>(
configMap: IFieldConfig<Entity>,
...source: Array<Record<keyof Entity, IEntityConfig> | IFieldConfig<Entity>>
): IFormConfig<Entity>[]defineFormFieldConfig
定义表单配置,提供类型提示。
ts
function defineFormFieldConfig<Entity>(
config: IFormFieldConfig<Entity>
): IFormFieldConfig<Entity>defineSearchFieldConfig
定义搜索表单配置。
ts
function defineSearchFieldConfig<Entity>(
config: ISearchFieldConfig<Entity>
): ISearchFieldConfig<Entity>defineTableFieldConfig
定义表格配置。
ts
function defineTableFieldConfig<Entity>(
config: ITableFieldConfig<Entity>
): ITableFieldConfig<Entity>keysToConfigMap
将键数组转换为配置映射。
ts
function keysToConfigMap<Entity>(
keys: Array<keyof Entity | (IRenderConfig & { key: keyof Entity })>
): IFieldConfig<Entity>insertFieldConfigToList
将字段配置插入到列表中。
ts
function insertFieldConfigToList<Entity>(
target: IFormConfig<Entity>[],
source: IFormConfig<Entity>[]
): IFormConfig<Entity>[]