Typescript, по-видимому, не позволяет мне перезаписывать свойство, которое не требуется. У меня есть пара интерфейсов:
interface IField {
label: string;
model: string;
placeholder?: string;
addon?: string;
showOn?: IDictionary <string | number>;
maxlength?: number;
}
interface ICheckboxField extends IField {
model?: string;
type: 'checkbox';
default?: string;
options: IOption[];
validation?: {
required?: string;
};
}
Поэтому в ICheckboxField я установил, что свойство модели не требуется. Все остальные поля, расширяющие IField, должны иметь требуемую модель.
Является ли это ограничением в Typescript или есть решение, отличное от расширения интерфейса и просто добавления свойств специально для интерфейса?