Как мне расширить интерфейс или класс при объявлении переменной?

Например:

export declare abstract class DynamicFormControlModel implements DynamicPathable {
    asyncValidators: DynamicValidatorsConfig | null;
    _disabled: boolean;
    disabledUpdates: Subject<boolean>;
    errorMessages: DynamicValidatorsConfig | null;
    hidden: boolean;
    id: string;
    label: string | null;
    labelTooltip: string | null;
    controlTooltip: string | null;
    layout: DynamicFormControlLayout | null;
    name: string;
    parent: DynamicPathable | null;
    relation: DynamicFormControlRelationGroup[];
    updateOn: FormHooks | null;
    validators: DynamicValidatorsConfig | null;
    abstract readonly type: string;
    protected constructor(config: DynamicFormControlModelConfig, layout?: DynamicFormControlLayout | null);
    disabled: boolean;
    readonly hasErrorMessages: boolean;
    toJSON(): Object;
}

model: DynamicFormControlModel extend {value:string}
  • model: DynamicFormControlModel extend {value:string} возвращает ошибку
  • Я знаю, что могу extend {value: string} или включить "значение" в сам класс, но я не ищу этого ответа.
1
nicker 24 Сен 2018 в 06:10

1 ответ

Лучший ответ

Вы можете использовать тип пересечения:

let model: DynamicFormControlModel & {value:string};
1
Matt McCutchen 24 Сен 2018 в 03:14