@mooses/form
Version:
[在线例子](https://qq2009.github.io/mooses/#/form)
99 lines (83 loc) • 2.16 kB
TypeScript
interface FormBaseConfig<T = string> {
// 标签
label?: string;
// 标签位置
span?: number;
// 字段
field: string;
// 默认值
defaultValue?: T;
[key: string]: any;
}
// 表单输入框配置
export interface FormInputConfig extends FormBaseConfig<string> {
// 组件类型
el: 'input';
}
// 表单输入框配置
interface FormInputNumberConfig extends FormBaseConfig {
el: 'input-number';
}
// 表单选择器配置
interface FormSelectConfig extends FormBaseConfig {
el: 'select';
options: Array<Record<string, unknown>> | Function;
}
// 表单选择器配置 - 虚拟化选择器
interface FormVSelectConfig extends FormBaseConfig {
el: 'select-v2';
options: Array<Record<string, unknown>> | Function;
}
// 表单时间选择器配置
interface FormTimePickerConfig extends FormBaseConfig {
el: 'time-picker';
isRange: boolean;
startField: string;
endField: string;
}
// 表单级联选择器配置
interface FormCascaderConfig extends FormBaseConfig {
el: 'cascader';
}
// 表单树形选择配置
interface FormTreeSelectConfig extends FormBaseConfig {
el: 'tree-select';
}
// 表单时间选择配置
interface FormTimeSelectConfig extends FormBaseConfig {
el: 'time-select';
}
// 表单开关配置
interface FormSwitchConfig extends FormBaseConfig {
el: 'switch';
}
// 表单滑块配置
interface FormSliderConfig extends FormBaseConfig {
el: 'slider';
}
// 表单单选框配置
interface FormRadioConfig extends FormBaseConfig {
el: 'radio';
}
// 表单日期选择器配置
interface FormDatePickerConfig extends FormBaseConfig {
el: 'date-picker';
}
// 表单颜色选择器配置
interface FormColorPickerConfig extends FormBaseConfig {
el: 'color-picker';
}
export type FormConfig =
| FormInputConfig
| FormInputNumberConfig
| FormSelectConfig
| FormVSelectConfig
| FormTimePickerConfig
| FormCascaderConfig
| FormTreeSelectConfig
| FormTimeSelectConfig
| FormSwitchConfig
| FormSliderConfig
| FormRadioConfig
| FormDatePickerConfig
| FormColorPickerConfig;