Сделайте ваши KEYS перечислением, а IKeyObject a Record и все должно работать
Единственная проблема, связанная с типом, заключается в том, что вы используете IKeyValue | any
, что фактически просто any
.
export enum KEYS {
K1 = "K1",
K2 = "K2"
}
export type IKeyObject = Record<KEYS, IKeyValue | any>;
export interface IKeyValue {
key: string;
value: any;
}
export const KEYS2: IKeyObject = {
K1: { key: "", value: "" },
K2: { key: "", value: "" }
};
Теперь у вас должна быть возможность автозаполнения на KEYS2 для отображения K1 и K2 в качестве параметров, хотя вам придется удалить any
из IKeyObject, чтобы получить больше автозаполнения.
Пример Stackblitz со всем, что я упомянул, и удаление any
.