React Typescript:Antd 表过滤器

Fei*_*ser 5 javascript typescript reactjs antd

当我尝试以下操作时,我在列中收到错误:

{
   title: "Gruppe",
   dataIndex: 'group',
   filters: [
      this.state.dropdownItems.map((item) => ({
         text: item.group,
         value: item.group
      })
   )],
   onFilter: (value, record) => record.TransactionType.includes(value),
},
Run Code Online (Sandbox Code Playgroud)

错误:*TS2322 (TS) 类型 '({ 标题:字符串;dataIndex:字符串;键:字符串;宽度:数字;对齐:“中心”;排序器:(a: 任意,b: 任意) => 数字;过滤器? : 未定义; onFilter?: 未定义; 渲染?: 未定义; } | { 标题: 字符串; ... 7 更多...; 渲染?: 未定义; } | { ...; } | { ...; } | { ...; })[]' 不可分配给类型“ColumnsType”。输入 '{ 标题:字符串;数据索引:字符串;键:字符串;宽度:数量;居中对齐”; 排序器:(a:任意,b:任意)=> 数字;过滤器?:未定义;onFilter?:未定义;渲染?:未定义;} | { 标题:字符串;... 7 个以上 ...; 渲染?:未定义;} | { ...; } | { ...; } | { ...; }' 不可分配给类型 'ColumnGroupType | 列类型'. 输入 '{ 标题:字符串;数据索引:字符串;宽度:数量;居中对齐”; 过滤器:{ 文本:字符串;值:字符串;}[][]; onFilter: (值: 任意, 记录: 任意) => 任意; 键?:未定义;排序器?:未定义;渲染?:未定义;}' 不可分配给类型 'ColumnGroupType | 列类型'. 输入 '{ 标题:字符串;数据索引:字符串;宽度:数量;居中对齐”; 过滤器:{ 文本:字符串;值:字符串;}[][]; onFilter: (值: 任意, 记录: 任意) => 任意; 键?:未定义;排序器?:未定义;渲染?:未定义;}' 不可分配给类型“ColumnType”。属性“过滤器”的类型不兼容。输入 '{ 文本:字符串;值:字符串;}[][]' 不可分配给类型“ColumnFilterItem[]”。输入 '{ 文本:字符串;值:字符串;}[]' 缺少类型“ColumnFilterItem”中的以下属性:文本、值 *

Sae*_*loo 2

由于map返回一个新数组,所以现在您定义一个二维数组作为过滤器,它应该是这样的:

filters: [
  ...this.state.dropdownItems.map((item) => ({
     text: item.group,
     value: item.group
  })
)]
Run Code Online (Sandbox Code Playgroud)

或者:

filters: this.state.dropdownItems.map((item) => ({
     text: item.group,
     value: item.group
  })
)
Run Code Online (Sandbox Code Playgroud)