gpt4 book ai didi

typescript - typescript 中具有联合类型键的松散类型对象

转载 作者:行者123 更新时间:2023-12-04 01:36:01 25 4
gpt4 key购买 nike

我正在尝试使用联合类型键创建松散类型对象的接口(interface)。

export type ObjectsType = 'text' | 'image' | 'circleText';

export interface IAllowedObjects {
[key: ObjectsType] : boolean;
}

但得到

An index signature parameter type cannot be a union type. Consider using a mapped object type instead



已经尝试了一些解决方案,但没有运气。
  • 试过This解决方案
  •     export type ObjectsType = 'text' | 'image' | 'circleText';
    export interface IAllowedObjects {
    [key in ObjectsType] : boolean;
    }

    A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol'

    A computed property name must be of type 'string', 'number', 'symbol', or 'any'.

    最佳答案

    您可以定义一个 mapped type仅与 type aliases ,接口(interface)无法做到这一点。

    export type ObjectsType = 'text' | 'image' | 'circleText';
    export type IAllowedObjects = {
    [key in ObjectsType]: boolean;
    }

    Code sample

    关于typescript - typescript 中具有联合类型键的松散类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59531023/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com