【问题标题】:How to filter current data without making remote call? - Material Table(mbrn/material-table)如何在不进行远程调用的情况下过滤当前数据? - 材料表(mbrn/材料表)
【发布时间】:2020-03-25 19:13:32
【问题描述】:

我正在使用mbrn/material-table 过滤列和远程数据功能。当我按术语过滤时,该表使用查询对象中的过滤条件对服务器进行 API 调用。 我的期望是,在输入过滤器词时,我希望表格在当前页面上的当前数据集中进行搜索。我不希望表格额外调用过滤。它应该只显示与该词匹配的行。

关于如何实现这一点的任何建议?

查看链接https://stackblitz.com/edit/aftkrc 打开编辑器控制台以查看每个过滤器文本都调用了 API。

【问题讨论】:

  • 你能在这里分享一些代码或你的代码的codepen/codesendbox链接
  • 添加代码链接

标签: javascript reactjs material-ui material-table


【解决方案1】:

在您的代码中,每次调整页面大小时都会调用 API。所以你没有将数据保持在你的状态,所以当搜索开始时,它会再次调用 API 来获取数据。所以你可以做的是在页面启动时调用数据(使用React.useEffect)并将其保存在状态中并将状态用作数据,然后您可以搜索您想要的项目而无需请求调用。

【讨论】:

    【解决方案2】:

    问题在于您有一个函数会在您每次输入时获取数据。 解决方法是先调用数据,将列表结果保存到state。在渲染中,您只需绑定您的数据。 试试this example,我想这就是你想要的。或者你可以从the material-table document找到这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多