Reactjs 从不调用react-bootstrap-table-2 sortFunc
我正在尝试为我的表中的一列(日期格式)自定义排序函数。根据文档,使用Reactjs 从不调用react-bootstrap-table-2 sortFunc,reactjs,react-bootstrap-table,Reactjs,React Bootstrap Table,我正在尝试为我的表中的一列(日期格式)自定义排序函数。根据文档,使用sortFunc,这应该是直截了当的,但由于某些原因,它不起作用 列定义: { dataField: "dateOfBirth", text: "Date of birth", sort: true, sortCaret: sortCaret, //custom sorting function to parse dates sortFunc: (a, b, ord
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}
>
我知道sort函数还不能解析日期,但它甚至没有被调用(我没有得到任何控制台输出)
表格定义:
{
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}
>
这里的问题是什么?我根据您的代码提供了一个快速示例:
sortFunc
被调用。如果单击“出生日期”列,您可以看到控制台输出。如果希望在开始时完成此操作,则需要将defaultSorted
更改为:
defaultSorted={[{ dataField: "dateOfBirth", order: "desc" }]}
顺序取决于您,但必须进行设置。我根据您的代码提供了一个快速示例:
sortFunc
被调用。如果单击“出生日期”列,您可以看到控制台输出。如果希望在开始时完成此操作,则需要将defaultSorted
更改为:
defaultSorted={[{ dataField: "dateOfBirth", order: "desc" }]}
顺序由您决定,但必须进行设置