【问题标题】:How to see property available values when "string literal type" is used inside Interface in Typescript?在 Typescript 的接口中使用“字符串文字类型”时如何查看属性可用值?
【发布时间】:2019-08-19 13:49:54
【问题描述】:
问题: 如您所见,如果我声明 gender 的联合类型为 female | male,它会按预期抛出正确的错误(第一张图片)。还显示了错误的可用值(第二张图片)。
但是,如果我将性别属性分隔为单独的字符串文字类型 Gender,如下图所示,它也会引发相同的错误(第三张图片),但是当我将鼠标悬停在 gender 属性上时,它不会显示我可用值,但只显示Gender。 (第四张图片)。
问题:如何在接口中使用字符串字面量类型实现相同的结果(显示可用值)?提前致谢!
【问题讨论】:
标签:
typescript
typescript-typings
typescript2.0
【解决方案1】:
我会回答我自己的问题:
如果你们想知道为什么会发生这种情况,它是由下面提到的@pushkin 设计的,但是如果您想查看可以传递的可用值,很简单,您必须按 CONTROL + SPACE 在分配值时查看可用值。
示例:
【解决方案2】:
这与this 问题有关,一致认为这是设计使然。
这实际上是设计的...... IMO 在签名悬停中显示更多信息只会使事情变得更加复杂。考虑一个具有许多属性的文字。
稍后...
不,目前没有选项可以控制它。
这个问题是关于接口的,但我认为类型也是如此,这是我的经验。
也许有一些 VSCode 扩展可以改变悬停效果。
然而,将鼠标悬停在实际类型声明上会显示此附加信息。