在纸上取消突出显示所有cellViews-jointjs

时间:2018-07-04 14:02:05

标签: jointjs rappid

我们最近添加了jointjs的突出显示功能,以向用户显示当前突出显示和选择了哪些cellView。但是,如果用户在外部单击,则要取消突出显示在纸上绘制的所有cellView。在研究了官方文档之后,我们最终无法找到满足我们要求的解决方案。

突出显示cellView的代码为:

this.paper.on('cell:pointerclick', (cellView: any) => {
      cellView.highlight();
    });

1 个答案:

答案 0 :(得分:3)

为解决此问题,我们遍历当前纸张(区域)上显示的所有cellView,并调用unhighlight函数。此逻辑放在blank:pointerdown回调中-这样我们就可以处理实际cellView之外的所有点击。

this.paper.on('blank:pointerdown', (evt, x, y) => {
               this.paper.findViewsInArea(this.paper.getArea()).forEach(cell => {
               cell.unhighlight();
             });
        });

希望这会有所帮助。