ag-grid: pre-setting a (default) filter for the grid(AG-GRID:为网格预先设置(默认)过滤器)
问题描述
我有一个Reaction应用程序,一切似乎都运行得很好。 我想通过筛选添加一项额外的功能,尽管我目前被卡住了。
谁能就如何预置过滤器提供一些建议
使用我看到的示例过滤方法in this article我尝试实现一个基本示例,尽管它不起作用
this.state = {
gridOptions: {
.
.
.
onGridReady: this.initialFilter
},
initialFilter(){
tmp = {Currency: {type: 'contains', filter: 'usd'}};
this.state.gridOptions.api.setFilterModel(tmp);
this.state.gridOptions.api.onFilterChanged();
}
运行后,我预计会对Currency列进行筛选,以查找包含筛选文本的条件。
================================================= 编辑: 尝试后
initialFilter(){
let hi=this.state.gridOptions.api.getFilterInstance('Currency');
hi.setType('contains');
hi.setFilter('usd');
hi.onFilterChanged();
}
无反应+无错误
但当我在更改筛选器的现有方法中添加代码时(当我手动添加筛选器时):
onAfterFilterChanged() {
let hi=this.state.gridOptions.api.getFilterInstance('Currency');
hi.setType('contains');
hi.setFilter('usd');
hi.onFilterChanged();
this.setState({
rowsToDisplay: this.state.gridOptions.api.filterManager.rowModel.rowsToDisplay.length,
filtering: this.props.report.views.filters
});
this.props.filterme(this.state.filtering);
}
然后出现以下错误
Full error: Uncaught RangeError: Maximum call stack size exceeded
at RowRenderer.workOutFirstAndLastRowsToRender (dme-ui-buidle.js:13181)
at RowRenderer.drawVirtualRows (dme-ui-buidle.js:13178)
at RowRenderer.refreshAllVirtualRows (dme-ui-buidle.js:13138)
at RowRenderer.refreshView (dme-ui-buidle.js:13034)
at RowRenderer.onModelUpdated (dme-ui-buidle.js:12979)
at RowRenderer.onPageLoaded (dme-ui-buidle.js:12931)
at dme-ui-buidle.js:2684
at Array.forEach (<anonymous>)
at EventService.dispatchEvent (dme-ui-buidle.js:2683)
at PaginationProxy.onModelUpdated (dme-ui-buidle.js:27264)
推荐答案
根据此处的文档:
https://www.ag-grid.com/javascript-grid-filtering/
和这个柱塞:
https://plnkr.co/edit/0NoAA9cEZa1Zr9brMZ2I?p=info
这样的事情应该会奏效:
var yourFilterComponent = gridOptions.api.getFilterInstance('youfieldname');
yourFilterComponent.setType('contains');
yourFilterComponent.setFilter('usd');
yourFilterComponent.onFilterChanged();
这篇关于AG-GRID:为网格预先设置(默认)过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:AG-GRID:为网格预先设置(默认)过滤器
基础教程推荐
- 检查 HTML5 拖放文件类型 2022-01-01
- npm start 错误与 create-react-app 2022-01-01
- Bootstrap 模态出现在背景下 2022-01-01
- 如何添加到目前为止的天数? 2022-01-01
- 在 contenteditable 中精确拖放 2022-01-01
- fetch 是否支持原生多文件上传? 2022-01-01
- 即使用户允许,Gmail 也会隐藏外部电子邮件图片 2022-01-01
- Bokeh Div文本对齐 2022-01-01
- 原生拖动事件后如何获取 mouseup 事件? 2022-01-01
- Fabric JS绘制具有活动形状的多边形 2022-01-01
