https://blog.csdn.net/m0_37894494/article/details/119963776?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.control&spm=1001.2101.3001.4242
https://blog.csdn.net/qq_52433953/article/details/117930706
https://www.cnblogs.com/listen9436/p/13262418.html
這些博客都是關於這個組件的問題,當使用el-table 展開模式的時候,如果你在展開函數中
@expand-change=“expandTable”
中綁定的函數expandTable,對row進行數據操作,會使得點擊展開的內容馬上在收縮上去。
原因是因為你在expand展開的過程中dom樹,剛把要展開的內容加載進來,我們成為block1+data1,這個data1是你預設的,或者是空。
然后在expandTable()函數中,你對block1+data1中data1進行更新,變成block1+data2,vue監測到這種變化,就要重新去渲染dom樹,
然后會把你剛點擊展開的內容馬上繼續收上去。vue就這尿性,重新渲染的東西先把他消失掉。就造成你點擊第一次馬上收上去,點擊第二次能看到數據
,這屌問題,找了我一下午,網上都是說設計什么延遲,然后預設數據之類的。都有一定效果,我都試了一遍。發現都不起作用,
水平不行也看不了源碼。然后就思考為什么這b玩意要自己收縮上去,是不是因為找不到哪個數據對應要刷新,因為在vue中我們可以看到如果是動態改變某個組件的數據,他就可以馬上刷新,不用隱藏,
想了半天,看見el-table中有個屬性叫做row-key。想着這東西就是用來唯一識別。
一下問題就解決了,沃日。。。