react-bootstrap-table-2 sortFunc 永远不会被调用



我正在尝试为表格的一列自定义排序功能(这是一种日期格式)。根据文档,使用sortFunc应该很简单,但由于某种原因它不起作用。

列定义:

{
dataField: "dateOfBirth",
text: "Date of birth",
sort: true,
sortCaret: sortCaret,
//custom sorting function to parse dates
sortFunc: (a, b, order, dataField, rowA, rowB) => {
console.log("Sorting dates");
if (order === 'asc') return a - b;
else return b - a;
},
headerSortingClasses,
},

我知道排序函数还无法解析日期,但它甚至没有被调用(我没有得到任何控制台输出)。

表定义:

<BootstrapTable
wrapperClasses="table-responsive"
bordered={false}
classes="table table-head-custom table-vertical-center overflow-hidden"
bootstrap4
remote
keyField="id"
data={entities === null ? [] : entities}
columns={columns}
defaultSorted={uiHelpers.defaultSorted}
onTableChange={getHandlerTableChange(
patientsUIProps.setQueryParams
)}
{...paginationTableProps}
>

这里有什么问题?

我根据您的代码拼凑了一个快速示例:https://codesandbox.io/s/react-bootstrap-table-next-basic-example-forked-h5pn0?file=/src/index.js

sortFunc调用,如果单击"出生日期"列,则可以看到控制台输出。如果您希望在开始时完成此操作,则需要将defaultSorted更改为:

defaultSorted={[{ dataField: "dateOfBirth", order: "desc" }]}

order由您决定,但必须设置。

最新更新