reactjs - 使用 PrimeReact DataTable 的 Filter 属性
问题描述
实现的DataTable的其中一列有点像这样
{ field: 'FieldValuesAsText#XYZ', header: 'XYZ', width: '150px', sort: true, filterElement: 'No' }
<Column key={col.field}
field={col.field}
header={col.header}
body={this.trimContent}
filter={true}
filterMatchMode="contains"
sortable={col.sort}/>
FieldValuesAsText是一个以XYZ作为其属性之一的对象。body属性中使用的自定义函数成功检索了该值,但问题是当我尝试执行过滤操作时。由于过滤器默认为字段,在这种情况下是FieldValuesAsText#XYZ,所以它显然会返回未定义的。我怎样才能使我的过滤器正常工作?
解决方案
您需要实现自定义过滤器功能。这是我用来过滤数据表中类似列的自定义函数。
filterMatchMode="custom" filterFunction={customFunction}
export const customFunction = (value, filter) => {
return value.toUpperCase().indexOf(filter.toUpperCase()) >= 0
}
推荐阅读
- python-3.x - VS Code 工作区中未解决的导入
- reactjs - 如何在 AgGrid React 中使用 groupInnerCellRenderer
- gradle - 一起使用 Gradle“io.quarkus”插件和“com.google.protobuf”插件的问题
- python-3.x - 尝试编写 Python3 程序时收到以下错误:NameError: name 'util' is not defined
- javascript - 有没有其他方法可以在没有无限while循环的情况下实现“监听”功能?
- php - 主页上的作者姓名未显示
- jquery - 如何为 django 项目中的 javascript 文件组织单元测试,以便它们可以从 CLI 运行并集成到 Gitlab-CI 脚本?
- aframe - 带有 A-Frame 和 AR.js 3 的图像跟踪和基于位置的 AR 存在描述符问题
- python-3.x - 如何检查此输入是否为负数
- javascript - 如何在没有库或模块的普通 JS 中从 base-36 转换为 base-62