2 回答

TA貢獻1875條經(jīng)驗 獲得超3個贊
您需要使用 columnDefs 而不是 defaultColDef 來執(zhí)行此操作。插件鏈接
showFilter() {
/*
this.defaultColDef = {...this.defaultColDef, floatingFilter: true};
setTimeout(() => {
this.gridApi.refreshHeader();
}, 0);*/
var columnDefs = this.gridApi.getColumnDefs();
columnDefs.forEach(function (colDef, index) {
colDef.floatingFilter = true;
});
this.gridApi.setColumnDefs(columnDefs);
}
AG 網(wǎng)格在渲染網(wǎng)格時合并defaultColDefs,colDefs然后colDefs在方法中使用對象setupFloatingFilter,因此在 defaultColDefs 中設(shè)置值是沒有用的。
調(diào)用gridApi.setColumnDefs調(diào)用HeaderContainer.prototype.init因此呈現(xiàn)您的過濾器組件,而調(diào)用refreshHeader內(nèi)部調(diào)用gridPanel.setHeaderAndFloatingHeights,headerRootComp.refreshHeader但沒有調(diào)用init將呈現(xiàn)您的過濾器組件的函數(shù)。

TA貢獻1773條經(jīng)驗 獲得超3個贊
要更新 agGrid 中的 defaultColDef,您可以使用 setDefaultColDefgridApi 中的方法傳遞全新的 colDef。并且不要忘記刷新所有標題。
this.gridApi.api.setDefaultColDef({
...this.defaultColDef,
floatingFilter: true
});
this.gridApi.api.refreshHeader();
希望這會有所幫助
添加回答
舉報