jsplumb dom 位置發生變化,連線錯位

四、jsplumb 在 dom 位置發生變化 jsplumb 監聽不到,因此連線位置不對。

場景:點擊按鈕查找parent 的關係,展現parent,相反查找 children, 可是按鈕盒子的位置變化了,連線位置沒有變化。

原本不打算單獨寫這個博客的,在bug管理中單獨記錄了這個問題,可是因爲我解決的時間過長,而且在國內搜索不到有效的解決辦法,但願小夥伴不要像我這麼浪費時間。javascript

由於jsplumb 連線的時候 是記錄的source 和 target 分別是 nodeId,當你在傳入相同的 source 和 target jsplumb 認爲是同一條線,不會從新繪製。這個問題困繞我一成天的時間,在同事的幫忙下才解決的,由於國內關於這個介紹的不多,沒有看到相似的問題,可是我相信確定有這樣的API,因而讓我同事用英文的方式進行搜索。java

instance.reset() 清除jsplumb的全部連線關係,至關於清楚 jsPlumb 的連線緩存node

this.$nextTick(() => {
    <!-連線以前先把連線的關係清除-->
    this.datasetInstance.reset()
    jsPlumb.batch(() => {
      this.datasetEdges.forEach(item => {
      this.datasetInstance.connect({
          source: item.source,
          target: item.target,
          overlays: [
          ], 
        }, this.datasetCommon);
      });
    },true)
});
複製代碼
相關文章
相關標籤/搜索