【问题标题】:How do you hint different options for a function's object parameter?您如何提示函数对象参数的不同选项?
【发布时间】:2022-01-27 00:59:46
【问题描述】:

我正在用 TypeScript 实现一个库,一些函数如下:

constructor(type: TypeEnum, params: {[id:string]: any})

问题是,每当我使用 js 使用库时,我希望我的 IDE 显示 params 中的每一个有效 id。我已经看到一些库已经这样做了,我该如何实现呢?

【问题讨论】:

  • 你有什么限制?
  • 每个参数的有效 id 是什么?正如当前键入的那样,它实际上是任何可能的字符串;您希望 IDE 如何显示所有这些内容?
  • 简化了,我希望在键入函数时能够看到 id 的选项。所以当我输入我的 ide let obj = new MyClass( TypeEnum.YELLOW, {}) 时,我可以看到不同的 id。
  • @jonrsharpe,这是我的问题。假设参数的有效ID是'option1'和'option2',例如
  • 所以给出比{[id: string]: any} 更具体的类型。阅读文档:typescriptlang.org/docs/handbook/2/objects.html

标签: javascript typescript


【解决方案1】:

您可以将它们显式设置为属性:

constructor(type: TypeEnum, params: { option1?: any, option2?: any })

【讨论】:

  • 感谢您的回答。是这样的{ option1?: any, option2?: any } 还是这样的{ 'option1'?: any, 'option2'?: any }。为什么?
  • @MiguelLuna 不应该有引号或不带引号
猜你喜欢
  • 2017-10-21
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
相关资源
最近更新 更多