繁体   English   中英

如何使用泛型类型接口在接口内使参数有条件

[英]How to make parameter conditional inside interface with generic type interface

我正在尝试构建一个接口,例如 React 组件的 Dropdown props 接口,并且我试图仅在 T generic 是字符串时才使参数成为可选。 我的研究发现我的问题的答案为零。

在此处输入图像描述

正如您在此处看到的,我试图仅在 T 扩展字符串类型时才使 getTemplate 成为可选,但如果是其他内容,我将不得不编写它。

不幸的是,它不起作用。 未定义类型的参数不是可选参数,它是未定义的参数。

有什么建议么? 提前谢谢。

也许将条件部分提取到联合类型的成员中。

type Props<T> =
(T extends string ? { } : { getTemplate: (item: T) => ReactNode; }) &
{
    items: Array<T>;
    disabled?: boolean;
    ...
};

暂无
暂无

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

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