我有一个只读图来显示一些数据。我的最终用户希望"过滤"数据使得一次只能显示数据的子集。我意识到每次我应用过滤器时都可以重绘整个图表,省略了不显示的元素,但我想知道是否有一种方法可以简单地隐藏"一些现有的元素动态地然后重新显示它们。
为了尝试清楚地表达,如果这是一个网页而不是图表,我会画出将display: none
的CSS应用于我选择的元素的类比。
答案 0 :(得分:7)
您实际上可以使用JointJS图表元素/链接执行相同的操作。例如:
myElement.attr('./display', 'none')
隐藏呈现元素的整个SVG组元素。请注意'.'
是一个指向整个组的特殊选择器。如果你只想隐藏某个SVG子元素,你可以这样做,例如对于joint.shapes.basic.Rect
元素,您可以:
myRect.attr('rect/display', 'none')
这只会隐藏我们通过<rect>
方法修改的rect
对象中的标记名attrs
引用的矩形(SVG attr()
元素。