使用TypeScript在mui-datatables的选项中写入filterType API时,选项错误

问题描述

import React,{ useState,useEffect } from "react";
import { UseCovid19,Cases } from "./UseCovid19";
import "./Covid19.css";
import MUIDataTable from "mui-datatables";
import { createMuiTheme,MuiThemeProvider } from "@material-ui/core/styles";
import { CheckBox } from "@material-ui/core";

export const Covid19 = () => {
  const { error,isLoaded,items } = UseCovid19();

  const columns = [
    {
      name: "specimen_collection_date",label: "Specimen Collection Date",options: {
        filter: true,sort: true,},{
      name: "case_disposition",label: "Case disposition",option: {
        filter: true,{
      name: "transmission_category",label: "Transmission Category",{
      name: "case_count",label: "Case Count",];

  const options = {
    filterType: "checkBox",};

  if (error) {
    return <div>Error: {error}</div>;
  } else if (!isLoaded) {
    return <div>Loading...</div>;
  } else {
    return (
      <div className="myTable">
        <MUIDataTable
          title={"Employee List"}
          data={items}
          columns={columns}
          options={options}
        />
      </div>
    );
  }
};

当我插入filterType =“ CheckBox”时,options={options}中出现错误,它给了我这个错误

Type'{filterType:string; }”不能分配给“ Partial any)|未定义)=> ReactNode; ... 76更多...; viewColumns:布尔值; }>'。 属性'filterType'的类型不兼容。

解决方法

您应该安装类型定义 @types/mui-datatables 并在 options 上声明正确的类型。

import MUIDataTable,{ MUIDataTableOptions } from 'mui-datatables';

const options: MUIDataTableOptions = {
  filterType: 'checkbox',};
,

好的,我解决了这个问题,我需要使用filterType: "checkbox" as any

为属性定义一个类型