Antd Table数字筛选问题:如何筛选值为0或Null的账户
解决Antd Table筛选0或Null值无效的问题
核心问题:你配置里的
"null"是字符串类型,但实际数据里的空值是JS原生的null类型,类型不匹配导致筛选失效;另外默认筛选逻辑无法正确识别null值,需要自定义判断逻辑。修正后的配置方案:
- 先修正filters的value值,把字符串
"null"改为原生null:
filters: [ { text: "zero", value: 0 }, { text: "null", value: null } ],- 在对应列的配置中添加自定义
onFilter函数,确保正确匹配值:
{ title: '你的列标题', dataIndex: 'yourColumnName', // 替换成你实际的字段名 filters: [ { text: "zero", value: 0 }, { text: "null", value: null } ], onFilter: (value, record) => { if (value === null) { // 兼容数据里可能出现的null或undefined空值情况 return record.yourColumnName === null || record.yourColumnName === undefined; } // 精准匹配数值0 return record.yourColumnName === value; } }- 先修正filters的value值,把字符串
说明:自定义
onFilter函数会明确判断筛选值与数据字段的匹配关系,尤其是针对null这种特殊值,避免类型或默认逻辑导致的匹配失败。
内容的提问来源于stack exchange,提问作者MeriemNAIM
相关产品推荐
相关产品推荐

