2014-11-24 90 views
2

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

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

回答

6

实际上,您可以对JointJS图元素/链接执行相同操作。例如:

myElement.attr('./display', 'none') 

隐藏了呈现元素的整个SVG组元素。请注意0​​是一个特殊的选择器,指向整个组。如果你只想隐藏某个特定的SVG子元素,你可以做类似的事情,例如,为joint.shapes.basic.Rect元素,你会怎么做:

myRect.attr('rect/display', 'none') 

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

+0

感谢。用于解释'。'和'rect'之间的不同。 – 2016-06-14 08:55:42