[英]Why does Typescript constant of type interface convert null to a string “null”
[英]Typescript convert a type described by an Interface to another?
我知道类型存在是有原因的。
但我的同事们想要隐藏我在其中一个组件中的漏洞抽象。 我使用一个大的配置接口来保存我的主要组件需要工作的所有信息,其中一个属性是一个数组或可列表元素,它们将构成一个多选。 基本上我的数组有这样的类型:
export interface Column {
label: string;
property: string;
}
但是我们使用的是第三方多选组件 ,它只接受它自己的类型数组作为选项。 喜欢:
export interface IMultiSelectOption {
id: any;
name: string;
disabled?: boolean;
isLabel?: boolean;
parentId?: any;
params?: any;
classes?: string;
image?: string;
}
在我们的例子中, id -> property
和name -> label
。 但! 为了使select选项起作用,它需要使这个键值对起作用。
如何将我们自己的类型转换为预期的多选项类型? 我不能只将另一个列表作为类型IMultiselectOption
b / c来解决漏洞抽象问题。 我不能在我的接收组件中转换它所有的魔法发生(基本上这是隐藏所有魔法的窗帘)b / c类型Column[]
道具不存在类型IMultiselectOption[]
在我的情况下,我还必须使用几种类型的相同数据,但代表/组织不同的前端和后端使用。
我只是有一个帮助服务转换,我转换我的对象,如下所示:
ColumnToIMultiSelectOption(column: Column): IMultiSelectOption {
return <IMultiSelectOption>{
id: column.property,
name: column.label,
}
}
通过将第三方组件嵌入到另一个帮助程序组件中来解决该问题。 通过这种方式,我可以操作数据并在多选组件需要时对其进行调整。 感谢@Eliseo这个想法是赢家。
没有什么花哨。 只有3输入1输出组件发出更改然后在消费组件中监听它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.