【问题标题】:Separate filter and sorting button for react table用于反应表的单独过滤器和排序按钮
【发布时间】:2022-06-14 17:51:30
【问题描述】:

我想为反应表中的每一列创建一个单独的按钮,用于排序和过滤,类似于下面给出的图片。

我可以使按钮工作,但每次我尝试单击按钮时,列都会被排序。

这里是CodeSandBox

  • 如果我要删除 column.getSortByToggleProps(),则 onClick() 事件在按钮上不起作用。
  • 即使单击 ASCENDING 按钮,我也无法进行排序 sortBy(id, false, false),它正在抛出错误。

我想让它做什么。

  • 当您单击过滤器图标时,不应对该列进行排序。
  • 当您单击组件中的按钮时,它应该对列进行排序,而不是在标题标题上。
  • 当您从过滤器中选择一个复选框时,组件应保持打开状态。

【问题讨论】:

  • 你能创建codesandbox吗?
  • @Nemanja 我添加了一个代码框,并进一步解释了这个问题。

标签: reactjs filtering react-table columnsorting


【解决方案1】:

有一个表实例属性setSortBy(),可用于以编程方式设置排序。

您可以通过将对象数组传递给它来设置排序以组合多个排序:

setSortBy([{id: column.id, desc: false}])

https://react-table-v7.tanstack.com/docs/api/useSortBy#instance-properties:~:text=setSortBy

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2013-11-16
    • 2018-03-19
    • 2016-02-14
    • 2017-02-03
    • 1970-01-01
    相关资源
    最近更新 更多