繁体   English   中英

Typescript中数组对象的对象

[英]Object of objects of arrays in Typescript

我有一个这样的结构,需要为此定义类型/接口,但是我无法使其正常工作。

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
}

现在正在运作...

但是,为什么不能将索引定义为枚举类型呢?

interface LayoutsSet您将index定义为number类型。 变量名不能是number类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM