小编Luk*_*eña的帖子

PrimeReact DataTable 自定义 filterFunction 不执行任何操作

我们在最新的项目中使用 PrimeReact,并且我们想要实现一个过滤器,其中列数据是一个数组,并且我们希望用户能够选择一个选项数组来过滤该列。(因此该列代表分配的用户,过滤器将是要过滤的用户的多选)。

这需要 CUSTOM 的过滤模式,并且文档提到了列上的 filterFunction 属性,但除此之外绝对没有其他详细信息。我将模式设置为“自定义”并为其提供了过滤功能,但它确实……完全没有任何作用。当我将模式设置为自定义时,该表会自动过滤所有内容。

为了简单起见,现在我只是在字符串列上测试它。以下是过滤器:

const [filters, setFilters] = useState({
    global: { value: null, matchMode: FilterMatchMode.CONTAINS },
    name: { value: null, matchMode: FilterMatchMode.CUSTOM },
});
Run Code Online (Sandbox Code Playgroud)

这是专栏:

<Column
    key="name"
    field="name"
    header="Name"
    sortable
    filter
    filterElement={searchFilterTemplate}
    filterFunction={() => console.log('test!')}
    showFilterMenu={false}
/>
Run Code Online (Sandbox Code Playgroud)

注意:我在 filterFunction 中放入什么并不重要 - 什么也不会发生。另外,在node_modules中此方法的类型中,列上的filterFunction的返回类型为“void”,而我见过的每个示例都有一个返回类型“boolean”,这对我来说更有意义。看起来完全无聊,或者也许我错过了什么?

javascript datatable filtering reactjs primereact

5
推荐指数
0
解决办法
1680
查看次数

标签 统计

datatable ×1

filtering ×1

javascript ×1

primereact ×1

reactjs ×1