網站搜尋

typescript - 物件字面值只能指定已知屬性,而 'name' 在此類型中不存在,但該類型是存在的


奇怪的問題,我收到了上述提到的錯誤,但我無法找出原因,這裡有一張截圖顯示所有內容:

這是我的程式碼:

const createSeries = (report: ReportEntry[], key: string) => {
  const reportEntryValues: any = [];
  let itemColor: string;
  let series: ApexAxisChartSeries;

  report.forEach((item: ReportEntry) => {
    reportEntryValues.push(item[key as keyof typeof item]);
  });

  switch (key) {
    case "approved":
      itemColor = Colors.Green;
      break;
    case "denied":
      itemColor = Colors.Red;
      break;
    default:
      itemColor = Colors.Blue;
  }

  series = {
    name: key,
    type: "bar",
    color: itemColor,
    data: reportEntryValues,
  };

  return series
};

任何幫助都非常感激,我一直在谷歌搜尋為什麼會發生這種情況,程式碼運行得很好,但 TypeScript 仍然對我大喊大叫。

提前感謝你!

編輯:遊樂場連結

答案#1

問題是 ApexAxisChartSeries 是陣列類型。因此,你要麼需要將 ApexAxisChartSeries 改為物件,要麼返回一個陣列。

帶有解答的遊樂場