我具有这样的结构,并且需要为此定义类型/接口,但是我无法使其正常工作。
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:字符串; x:数字; y:数字; w:数字; h:数字; } []; }”不可分配给“布局”类型。 类型'{“ lg”中缺少属性'md':{i:string; x:数字; y:数字; w:数字; h:数字; } []; }'。
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
}
它现在正在工作...
但是为什么不能将索引定义为枚举类型?
答案 0 :(得分:0)
在interface LayoutsSet
中,您将index
定义为number
类型。变量名称不能为number
类型。