У меня есть подобная структура, и мне нужно определить для нее типы / интерфейсы, но я не могу заставить это работать должным образом.
layoutsSet: {
1: {
"lg": [
{
i: "1",
x: 0,
y: 0,
w: 2,
h: 2
},
{
i: "2",
x: 2,
y: 0,
w: 2,
h: 2
},
{
i: "3",
x: 4,
y: 0,
w: 2,
h: 2
},
]
}
};
Вот как это выглядит сейчас.Это требует некоторых изменений, потому что при компиляции я получаю ошибки:
TS2322: Тип '{"lg": {i: string;х: число;у: число;w: число;ч: число;} [];} 'нельзя назначить типу' Layouts '.Свойство 'md' отсутствует в типе '{"lg": {i: string;х: число;у: число;w: число;ч: число;} [];} '.
export interface Layout {
i: string;
x: number;
y: number;
w: number;
h: number;
}
export enum Breakpoint {
LG = "lg",
MD = "md",
SM = "sm",
XS = "xs",
XXS = "xxs"
}
export interface LayoutBreakpoint extends Array<Layout> {}
export type Layouts = {
[b in Breakpoint]: LayoutBreakpoint
}
export interface LayoutsSet {
[index: number]: Layouts
}
Что я должен изменить здесь, чтобы это работало?Кто-нибудь может мне помочь?
// РЕДАКТИРОВАТЬ
Самое приятное то, что когда я изменился
export type Layouts = {
[key: string]: LayoutBreakpoint
}
Это работает сейчас ...
Но почему я не могу определитьиндекс как тип перечисления?