隐藏图中的元素

Kol*_*ban 2 jointjs

我有一个只读图来显示一些数据.我的最终用户希望"过滤"数据,以便一次只能显示一部分数据.我意识到每次应用过滤器时都可以重绘整个图表,省略了不显示的元素,但我想知道是否有一种方法可以简单地"隐藏"一些现有元素,然后重新显示他们.

为了尝试清楚,如果这是一个网页而不是图表,我会画出将CSS display: none应用于我选择的元素的类比.

dav*_*ave 7

实际上,您可以使用JointJS图表元素/链接执行相同的操作.例如:

myElement.attr('./display', 'none')
Run Code Online (Sandbox Code Playgroud)

隐藏呈现元素的整个SVG组元素.请注意,它'.'是一个指向整个组的特殊选择器.如果你只想隐藏某个SVG子元素,你可以这样做,例如对于joint.shapes.basic.Rect元素,你可以这样做:

myRect.attr('rect/display', 'none')
Run Code Online (Sandbox Code Playgroud)

这隐藏只有矩形(SVG <rect>由标签名引用的元素rectattrs对象-我们通过修改attr()方法.