我有一个简单的功能,可以通过提供的过滤器参数隐藏/显示节点,移除部分可以正常工作。但是,我无法对已经删除的节点集合应用相同的过滤器,因此我只能恢复那些过滤器。 (Cytoscape新手,我的Javascript-fu很弱...)
var hiddenOnes = cy.collection();
var hideShow = function(selectorExpr, event) {
if (event.target.checked == true) {
var restoring = hiddenOnes(selectorExpr); // problem is here!
cy.add(restoring);
} else {
var nodesToHide = cy.nodes(selectorExpr);
hiddenOnes = hiddenOnes.union( nodesToHide.remove() );
}
}
我了解为什么选择器表达式不能在hiddenOnes集合上使用,我只想知道该怎么做!
最佳答案
hiddenOnes
不能像hiddenOnes(selector)
那样使用。使用hiddenOnes.filter(selector)
。
请参阅文档:https://js.cytoscape.org/#eles.filter
Chrome调试器文档对于确定某些类型的问题很有用:https://developers.google.com/web/tools/chrome-devtools/javascript/
关于javascript - 在外部集合上使用选择器/过滤器-可能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57917999/