【问题标题】:How to define a strongly coupled type depends on a defined object [duplicate]如何定义强耦合类型取决于定义的对象[重复]
【发布时间】:2022-01-18 14:17:07
【问题描述】:
type MyObjType = {
  a: number,
  b?: string
}

type Column<Data, DataKey extends keyof Data> = {
  accessor: DataKey,
  value: Data[DataKey]
}

const column: Column<MyObjType, keyof MyObjType>[] = [{
  accessor: 'a',
  value: "" // (property) value: string | number | undefined
}]

但是当accessor 为'a'时,我希望value 的类型为数字,当accessor 为'b'时,值为undefined | string

如何定义Column 类型以使其工作?

【问题讨论】:

  • 我相信您的问题与this 重复。我对吗 ?见example
  • @captain-yossarian 好抓船长!只是一个小问题,我们通过创建一个临时对象类型并获取它的所有值类型来构建ValueHolder,有没有办法直接定义这种类型?你的答案是正确的,只是想知道是否有更好的方法
  • 你是什么意思?我认为没有更好的方法来做到这一点(
  • @captain-yossarian 感谢您的反馈!我相信它是正确的

标签: typescript typescript-generics


【解决方案1】:

从@captain-yossarian 那里得到Answer

【讨论】:

    猜你喜欢
    • 2015-05-09
    • 2013-10-24
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多