第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在數(shù)據(jù)更改時(shí)無法讓自定義單元格渲染器進(jìn)行更新。函數(shù)組件的行為與類組件的行為不同

在數(shù)據(jù)更改時(shí)無法讓自定義單元格渲染器進(jìn)行更新。函數(shù)組件的行為與類組件的行為不同

繁花不似錦 2022-08-18 10:51:04
我在整個(gè)反應(yīng)應(yīng)用程序中使用AG-Grid,在一些情況下,我希望cellRenderer在網(wǎng)格數(shù)據(jù)更改時(shí)進(jìn)行更新。在以下兩種情況下,cellRenderer 最初都會正確加載,但在數(shù)據(jù)更改時(shí)不會更新:用戶編輯可編輯的單元格并更改該值。服務(wù)器以 redux 格式更新網(wǎng)格數(shù)據(jù)查看此代碼和框在此示例中,我使用可編輯的單元格重新創(chuàng)建了第一個(gè)用例,并使用了類組件和函數(shù)組件。使用onCellValueChanged和params.api.refreshCells(),我能夠更新類組件,但不能更新函數(shù)組件。第一個(gè)問題:我如何讓 react 函數(shù)組件使用新的 props 重新渲染,就像類組件在 codesandbox 示例中重新渲染一樣?第二個(gè)問題:有沒有更好的方法來更新cellRenderer,而無需在數(shù)據(jù)更新時(shí)取消掛載并重新掛載列中的每個(gè)單元?提前感謝您的幫助和指導(dǎo)!
查看完整描述

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)用刷新方法。


查看完整回答
反對 回復(fù) 2022-08-18
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號