vue---vis.js動態加載圖譜之unshift踩坑記

問題描述:用vue做一個類似於如下圖的neo4j的圖譜管理系統,當每一次點擊左側標籤時,往右側搜索框下的頂部位置插入一個圖。

解決方案:圖譜數據通過數據驅動【 <div class="graph" v-for="(item ,index) in graphData" :key="item.index">...</div>】

當每一次點擊左側標籤時,往右側搜索框下的頂部位置插入一個圖,即在graphData中頂部插入一條數據【this.graphData.unshift(data);】。

unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。

問題來了,當插入數據後,上一次渲染的圖不見了,原因是當往【graphData】unshift 添加一條數據時,dom結構中渲染的數據發生了變化,原先【graphData】中的第一條數據被頂到第二的位置,之前渲染圖的數據發生了位置變動,所以圖就不見了,如果是往【graphData】末尾添加數據則不存在這個問題。

解決方法很無奈,當每次插入一條數據,只能把圖都重新渲染一遍。如果有好的方法,請各位大佬不吝賜教。

visjs使用見:vue---vis實現複雜網狀關係圖顯示

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