自定义排序 TanStack Table V8

jak*_*han 5 reactjs react-table react-table-v8 tanstack

如果单元格中有两个值,如何对列进行排序?

columnHelper.accessor('violations', {
  id: 'violations',
  header: () => <p>Violations</p>,
  cell: (info) => (
    <div>
      <p>{info.getValue().count}</p>
      <p>{info.getValue().percent}%</p>
    </div>
  ),
}),
Run Code Online (Sandbox Code Playgroud)

如果有办法的话,能否提供一个实现的例子?

Tom*_*lie 10

您可以为每列传递自定义排序函数。这是一个排序示例count

{
  id: 'violations',
  header: () => <p>Violations</p>,
  cell: (info) => (
    <div>
      <p>{info.getValue().count}</p>
      <p>{info.getValue().percent}%</p>
    </div>
  ),
  sortingFn: (
    rowA,
    rowB,
    columnId
  ) => {
    const numA = rowA.getValue(columnId).count;
    const numB= rowB.getValue(columnId).count;

    return numA < numB ? 1 : numA > numB ? -1 : 0;
  }
}   
Run Code Online (Sandbox Code Playgroud)