1 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
1.小區(qū)渲染器功能
當(dāng)您沒有刷新要求時(shí),應(yīng)使用單元格呈現(xiàn)器函數(shù),這在 ag-grid 文檔中有所提及。
根據(jù)文檔-
如果您沒有刷新或清理要求(即不需要實(shí)現(xiàn)刷新或銷毀函數(shù)),請使用單元格渲染器的函數(shù)變體。
這就是單元格渲染器函數(shù)不刷新的原因。
要解決您的問題,您可以這樣做 -
onCellValueChanged={function(params) {
if(params.column.getId() === 'country') {
params.api.redrawRows();
}
}}
2.單元格渲染器組件
您工作的原因是因?yàn)榫W(wǎng)格為您處理,因?yàn)槟形丛诮M件中實(shí)現(xiàn)。GridCellClassapi.refreshCells()refresh()refresh()GridCellClass
這意味著,如果基礎(chǔ)數(shù)據(jù)發(fā)生更改,您的組件將被銷毀并重新創(chuàng)建。
3.刷新細(xì)胞
另請注意,使用不會按原樣工作,因?yàn)閍g-grid使用更改檢測來刷新單元格,同時(shí)確定要刷新的單元格,并且因?yàn)閷?shí)際上其他2列的值不會更改,但實(shí)際上它們在cellRenderer本身中已更改。api.refreshCells()
但是,以下方法有效,因?yàn)槟梢酝ㄟ^傳遞來禁用更改檢測。GridCellClassforce:true
params.api.refreshCells({
force: true
});
來自文檔-
更改檢測將僅用于刷新顯示單元格值與實(shí)際值不同步的單元格。如果將 cellRenderer 與刷新方法一起使用,則將調(diào)用刷新方法。
添加回答
舉報(bào)