angular - 如何为 ag-grid 过滤器提供默认值
问题描述
尝试在 ag-grid filter text 中显示默认值。在过滤器参数中,我想给用户显示一个默认值,而不仅仅是应用于结果
this.columnDefs = [
{
headerName: this.pageData["tbm.line.list.grid.phonenumber"],
field: 'tn',
/*sort: "asc",*/
sortable: true,
filter: "agTextColumnFilter",
filterParams: { filterOptions: ['contains'], apply: true },
//tooltip: (params) => 'Address: ' + params.value,
headerTooltip: 'Phone Number',
// editable: true,
// checkboxSelection: true,
// headerCheckboxSelection: true,
// headerCheckboxSelectionFilteredOnly: true,
width: 150
},
解决方案
如果要在过滤器上设置默认值,可以利用firstDataRendered
事件,并设置初始过滤器模型。
<ag-grid-angular
#agGrid
style="width: 100%; height: 100%;"
id="myGrid"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[defaultColDef]="defaultColDef"
[rowData]="rowData"
(gridReady)="onGridReady($event)"
(firstDataRendered)="onFirstDataRendered($event)"
></ag-grid-angular>
在你的 component.ts 上,
onFirstDataRendered() {
const yourFilterComponent = this.gridApi.getFilterInstance('athlete');
yourFilterComponent.setModel({
type: 'contains',
filter: 'Phelps'
});
this.gridApi.onFilterChanged();
}
我在这里创建了一个演示。
推荐阅读
- gpu - 最大流量 GPU 实现
- c++ - C++ 将预先保留的哈希映射(std::unordered_map)与整数键和连续数据数组(std::vector)进行比较
- php - Laravel - 通过多个标签和字符串搜索
- string - Google Colab 在字典中找到最大值 - TypeError: 'str' object is not callable
- java - java.lang.IllegalStateException:指定的 firefox 二进制位置不存在或不是真实文件:/usr/bin/firefox 使用 GeckoDriver Selenium
- azure - Azure 发布管道:即使添加了替换镜像标签的步骤,Docker 镜像标签也不会被替换
- flutter - 如何在 Flutter android 10 中更新应用程序图标徽章?
- excel - 如何在动态 Excel ListObject 表中填充数据?
- android - RecyclerView 中的 OnClickListener 上的按钮并不总是可见
- php - Ubuntu 14.04 - PHP socket_create 不创建端口来监听