【问题标题】: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 扩展可以改变悬停效果。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-13
        • 1970-01-01
        • 2021-04-29
        • 2018-07-14
        • 2018-03-31
        • 1970-01-01
        • 2020-11-04
        相关资源
        最近更新 更多