如何在Typescript中的Interface中使用“string literal type”时查看属性可用值?

问题描述 投票:0回答:2

问题:正如你所看到的如果我用联合类型gender声明female | male,它会按预期抛出正确的错误(第1张图片)。还显示错误的可用值(第2张图像)。

enter image description here

但是,如果我将性别属性作为单独的字符串文字类型Gender分离,如下图所示,它也会抛出相同的错误(第3张图片)但是当我将鼠标悬停在gender属性上时,它不显示可用值,而只显示Gender。 (第4张图片)。

enter image description here enter image description here

问题:如何在Interface中使用字符串文字类型获得相同的结果(显示可用值)?提前致谢!

typescript typescript-typings typescript2.0
2个回答
0
投票

这与this问题有关,并且共识是这是设计的。

这实际上是按照设计的.... IMO在签名悬停中显示更多信息只会使事情变得更复杂。想想具有许多属性的文字。

后来...

目前没有选项可以控制它。

这个问题讨论了接口,但我认为类型也是如此,这就是我的经验。

也许有一些VSCode扩展可以改变悬停效果。

然而,将鼠标悬停在实际类型声明上将显示此附加信息。


0
投票

我会回答我自己的问题:

如果你们想知道为什么会发生这种情况,那么它的设计就像下面提到的@pushkin一样,但是如果你想看到你可以传递的可用值,那么简单的你必须在分配值时按CONTROL + SPACE来查看可用值。

示例:enter image description here enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.