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)
});
复制代码
相关文章
相关标签/搜索