当我使用远程数据时,我需要允许过滤客户端而不是服务器端,这是我的表
和我用于remote data
的代码
<MaterialTable
title={Strings.userManagementList}
data={query => {
this.get(query);
return new Promise(resolve => event.on('data-fetched', resolve));
}}
isLoading={store.loading}
options={this.options}
actions={this.actions}
localization={this.localization}
columns={this.columns}
components={this.components}
/>
这很好用,但是左上角when i type in it, it calls the end point agin with search parameter
的搜索栏--->这很正常,但是我的问题是
when i change filter or search from search bar ---> related to any column it also calls the endpoint
所以我想要的是: 1 /远程数据 2 /仅再次用于触发远程数据的左上搜索字段 3 //如果我从列过滤栏进行过滤,除非我在左上角的搜索字段中进行分页或搜索,否则它将在当前表结果内部进行搜索
谢谢。
答案 0 :(得分:1)
您可以通过将查询返回的数据保存在本地组件中来实现。
现在,如果查询的唯一过滤器而不是页面或搜索参数发生变化,则无需调用this.get(query);
,而是访问本地保存的数据,通过查询对象中的过滤器文本进行过滤,然后返回在承诺中过滤掉的数据,而不是获取新数据。