jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
33 lines (32 loc) • 982 B
TypeScript
import type { BaseSchema, SchemaApi, SchemaClassName, SchemaCollection, SchemaTokenizeableString, StaticControlSchemaBase } from '../types';
/**
* Mapping 映射展示控件。
*
*/
export interface MappingSchema extends BaseSchema {
/**
* 指定为映射展示控件
*/
type: 'map' | 'mapping';
/**
* 配置映射规则,值可以使用模板语法。当 key 为 * 时表示 else,也就是说值没有映射到任何规则时用 * 对应的值展示。
*/
map?: {
[propName: string]: SchemaCollection;
};
/**
* 如果想远程拉取字典,请配置 source 为接口。
*/
source?: SchemaApi | SchemaTokenizeableString;
/**
* 占位符
*/
placeholder?: string;
/**
* 每一项的样式类
*/
itemClassName?: SchemaClassName;
}
export interface StaticMappingSchema extends Omit<MappingSchema, 'type'>, StaticControlSchemaBase {
type: 'static-map' | 'static-mapping';
}