Salesforce LWC學習(四十) datatable的dynamic action的小坑淺談

本篇參考:https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable/documentation

我們在項目中會用到針對table等顯示 dynamic action的情況,即基於每行的特有屬性,展示這行滿足條件的action。比如我們的一個文件目錄的管理系統,針對文件的操作,我們可以修改文件名稱以及刪除文件,如果當前的行代表目錄的話,我們可以添加子目錄操作,這個添加子目錄就是針對目錄類型的行獨有的action操作。我們就可以基於官方的demo進行快速的複製粘貼然後修改。

本來都嘗試的好好的,結果遇到了一個偶發性的問題。可以查看此視頻查看效果:http://iqiyi.cn/cexYAmW-61

這個原因貌似是timeout基於異步,當我們頻繁的切換點擊以後,還沒來得及執行 doneCallback導致了上述視頻中的 dynamic action後續就不顯示的情況或者顯示錯誤情況(可以顯示的是前一個切換的那種)

基於這種情況,需要將官方demo中的 timeout的異步方式改成 Promise方式即可順利解決。

總結: 我們在lwc的文檔中已經發現了不止一處的這種看上去不是問題但是盲目複製粘貼使用會在某種場景報錯的情況,複製粘貼以後還是需要自己思考一下爲啥需要這種使用。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章