1 回答

TA貢獻1895條經驗 獲得超3個贊
1.小區渲染器功能
當您沒有刷新要求時,應使用單元格呈現器函數,這在 ag-grid 文檔中有所提及。
根據文檔-
如果您沒有刷新或清理要求(即不需要實現刷新或銷毀函數),請使用單元格渲染器的函數變體。
這就是單元格渲染器函數不刷新的原因。
要解決您的問題,您可以這樣做 -
onCellValueChanged={function(params) {
if(params.column.getId() === 'country') {
params.api.redrawRows();
}
}}
2.單元格渲染器組件
您工作的原因是因為網格為您處理,因為您尚未在組件中實現。GridCellClassapi.refreshCells()refresh()refresh()GridCellClass
這意味著,如果基礎數據發生更改,您的組件將被銷毀并重新創建。
3.刷新細胞
另請注意,使用不會按原樣工作,因為ag-grid使用更改檢測來刷新單元格,同時確定要刷新的單元格,并且因為實際上其他2列的值不會更改,但實際上它們在cellRenderer本身中已更改。api.refreshCells()
但是,以下方法有效,因為您可以通過傳遞來禁用更改檢測。GridCellClassforce:true
params.api.refreshCells({
force: true
});
來自文檔-
更改檢測將僅用于刷新顯示單元格值與實際值不同步的單元格。如果將 cellRenderer 與刷新方法一起使用,則將調用刷新方法。
添加回答
舉報