无法调用类型缺少调用签名的表达式-Array.push()

时间:2019-03-15 16:18:40

标签: typescript charts

下面的代码可以正常工作。它只是引发打字错误。也没有棉绒或视觉错误。仅在CLI编译时。

  const datasets: Chart.ChartDataSets[] = [];

  for (let i = 0; i < data.length; i++) {
    datasets.push({
      label: data[i].Name,
      data: [],
    });
  }

  for (const subset of data.Data) {
      const index = datasets.findIndex(d => d.label === subset.Label);
      datasets[index].data.push(subset.Data);
  }

我正在使用以上代码使用Chart.js创建堆积的条形图。我对其进行了消毒并进行了清理。

subset.Data是一个数字。

datasets[n].data的类型:number[] | Chart.ChartPoint[]

我的确切错误是:error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((...items: number[]) => number) | ((...items: ChartPoint[]) => number)' has no compatible call signatures.

我已经尝试过投放<any>subset.Data来推送和尝试<Chart.ChartPoint>以及<number>并使用as语法。我在这里做什么错了?

0 个答案:

没有答案