typescript 如何从一个参数的类型推断另一个参数的类型

标签 typescript vue.js typescript-typings typescript-generics echarts

type ChartType = 'bar' | 'line' | 'pie';


interface PropsType {
  type: EChartType;
  xData: **** ;
  seriesData: ****  ;
}
const props = defineProps<PropsType>();


怎么做

何时 ChartType = 'bar' , xData类型为string[]seriesData类型为number[] 。 当ChartType = 'line' , xData类型为Array<string|number>seriesData类型为string[] 。 当ChartType = 'pie' , xData类型为number[]seriesData类型为{value:string,name:string}[] .

最佳答案

这就是您问题的答案。

type TPropsType = {
        type: "bar"
        xData: string[]
        seriesData: number[]
    } | {
        type: "line"
        xData: Array<string|number>
        seriesData: string[]
    } | {
        type: 'pie'
        xData: number[]
        seriesData: {value:string,name:string}[]
    }

关于typescript 如何从一个参数的类型推断另一个参数的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74169555/

相关文章:

angular - BehaviourSubject 的 distinctUntilChanged() 不是函数

forms - 自定义验证器 Angular 2

azure - 在 Azure Web App 上部署 vueJs 应用程序

typescript - "export as namespace"自动在声明文件中

TypeScript:从其他字符串文字联合类型限制区分联合中的鉴别器

javascript - typescript 中映射的定义列表中的动态键名称

javascript - 在 ng build angular 中运行严格编译

reactjs - 类型 'string | null' 不可分配给类型 'string'

javascript - Vue.js 组件图像空白

javascript - 在 vuejs (axios) 和 web api 中加载图像