下面的代码可以正常工作。它只是引发打字错误。也没有棉绒或视觉错误。仅在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
语法。我在这里做什么错了?