interface IFormConfigItem {
// 表单的title
label: string;
// 表单的变量名
name: string;
// 表单项的类型
type?: 'input' | 'inputNumber' | 'select' | 'textarea' | 'month' | 'custom';
// 表单是select时的选择项
options?: ISelectItem[];
// 表单是inputNumber时的最大值,可选
max?: number;
// 枚举值code与desc的映射,用于返显
enumLabels?: Record<string, string>;
// 是否非必填
isOptional?: boolean;
}
我的问题: 如果type取值为select,那么options由可选属性变为必须有的属性,该怎么修改这个接口?
ype TypeProps = 'input' | 'inputNumber' | 'select' | 'textarea' | 'month' | 'custom';
type SelectItem = { type?: Extract<TypeProps, 'select'>, options: ISelectItem[]; }
type NonSelectItem = { type?: Exclude<TypeProps, 'select'>; options?: ISelectItem[]; }
type FormConfigItemProps = SelectItem | NonSelectItem;
type IFormConfigItem = { // 表单的title label: string; // 表单的变量名 name: string; // 表单是inputNumber时的最大值,可选 max?: number; // 枚举值code与desc的映射,用于返显 enumLabels?: Record<string, string>; // 是否非必填 isOptional?: boolean; } & FormConfigItemProps;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。