可以使用以下代码解决这个问题:
//定义ColumnDef对象 const columnDefs = [ {headerName: 'Column 1', field: 'column1', valueGetter: function(params){return params.data.column1;}}, {headerName: 'Column 2', field: 'column2', valueGetter: function(params){return params.data.column2;}} ]
// 定义GridOptions对象 const gridOptions = { columnDefs: columnDefs, // 设置onGridReady回调函数 onGridReady: function(params){ // 获取grid api对象 const gridApi = params.api; const columnsApi = params.columnApi; // 注册displayedColumnsChanged事件 gridApi.addEventListener('displayedColumnsChanged', function(event){ // 重新计算displayedColumns中的列 const displayedColumns = columnsApi.getAllDisplayedColumns(); // 如果列中的field为'column1'或'column2',则重新计算这些列中的值 if(displayedColumns.find(col => col.colId==='column1') || displayedColumns.find(col => col.colId==='column2')){ gridApi.refreshCells({force:true}); } }); } }
// 创建Ag-Grid new agGrid.Grid(gridDiv, gridOptions);