[英]React Typescript: Antd Table filter
I am getting an error in the columns when I try the following:当我尝试以下操作时,列中出现错误:
{
title: "Gruppe",
dataIndex: 'group',
filters: [
this.state.dropdownItems.map((item) => ({
text: item.group,
value: item.group
})
)],
onFilter: (value, record) => record.TransactionType.includes(value),
},
Error: *TS2322 (TS) Type '({ title: string; dataIndex: string; key: string; width: number; align: "center"; sorter: (a: any, b: any) => number; filters?: undefined; onFilter?: undefined; render?: undefined; } | { title: string; ... 7 more...; render?: undefined; } | {...; } | {...; } | {...; })[]' is not assignable to type 'ColumnsType'.
错误:*TS2322 (TS) Type '({ title: string; dataIndex: string; key: string; width: number; align: "center"; sorter: (a: any, b: any) => number; 过滤器? : undefined; onFilter?: undefined; render?: undefined; } | { title: string; ... 7 更多...; render?: undefined; } | {...; } | {...; } | {...; })[]' 不可分配给类型 'ColumnsType'。 Type '{ title: string;
输入'{标题:字符串; dataIndex: string;
数据索引:字符串; key: string;
键:字符串; width: number;
宽度:数字; align: "center";
居中对齐”; sorter: (a: any, b: any) => number;
sorter: (a: any, b: any) => number; filters?: undefined;
过滤器?:未定义; onFilter?: undefined;
onFilter?:未定义; render?: undefined;
渲染?:未定义; } |
} | { title: string;
{标题:字符串; ... 7 more...;
... 7 更多...; render?: undefined;
渲染?:未定义; } |
} | {...;
{...; } |
} | {...;
{...; } |
} | {...;
{...; }' is not assignable to type 'ColumnGroupType |
}' 不可分配给类型 'ColumnGroupType | ColumnType'.
列类型”。 Type '{ title: string;
输入'{标题:字符串; dataIndex: string;
数据索引:字符串; width: number;
宽度:数字; align: "center";
居中对齐”; filters: { text: string;
过滤器:{文本:字符串; value: string;
值:字符串; }[][];
}[][]; onFilter: (value: any, record: any) => any;
onFilter:(值:任意,记录:任意)=>任意; key?: undefined;
键?:未定义; sorter?: undefined;
分拣机?:未定义; render?: undefined;
渲染?:未定义; }' is not assignable to type 'ColumnGroupType |
}' 不可分配给类型 'ColumnGroupType | ColumnType'.
列类型”。 Type '{ title: string;
输入'{标题:字符串; dataIndex: string;
数据索引:字符串; width: number;
宽度:数字; align: "center";
居中对齐”; filters: { text: string;
过滤器:{文本:字符串; value: string;
值:字符串; }[][];
}[][]; onFilter: (value: any, record: any) => any;
onFilter:(值:任意,记录:任意)=>任意; key?: undefined;
键?:未定义; sorter?: undefined;
分拣机?:未定义; render?: undefined;
渲染?:未定义; }' is not assignable to type 'ColumnType'.
}' 不可分配给类型 'ColumnType'。 Types of property 'filters' are incompatible.
属性“过滤器”的类型不兼容。 Type '{ text: string;
输入'{文本:字符串; value: string;
值:字符串; }[][]' is not assignable to type 'ColumnFilterItem[]'.
}[][]' 不可分配给类型 'ColumnFilterItem[]'。 Type '{ text: string;
输入'{文本:字符串; value: string;
值:字符串; }[]' is missing the following properties from type 'ColumnFilterItem': text, value *
}[]' 缺少类型“ColumnFilterItem”的以下属性:文本、值 *
Since map
returns a new array, so now you are defining an 2 dimensional array as filters, it should be like this:由于
map
返回一个新数组,所以现在定义一个二维数组作为过滤器,它应该是这样的:
filters: [
...this.state.dropdownItems.map((item) => ({
text: item.group,
value: item.group
})
)]
Or:或者:
filters: this.state.dropdownItems.map((item) => ({
text: item.group,
value: item.group
})
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.