删除dat.Gui中的文件夹

7
我正在使用dat.GUI,并且想要用新内容替换一个文件夹。
var gui = new dat.GUI();
var folder = gui.addFolder('someString');

// sometime later ...
var newFolder = gui.addFolder('someString'); // causes an error

所以我需要一种方法来删除之前的文件夹或替换其内容。有什么想法吗?

看看这个:- https://code.google.com/p/dat-gui/issues/detail?id=21 - Rahul Tripathi
这个函数应该在哪里集成,如何调用? - Stefan Ramson
1个回答

13

这个解决方案对我有用。你需要将此函数添加到dat.GUI文件中或在代码中手动添加:

dat.GUI.prototype.removeFolder = function(name) {
  var folder = this.__folders[name];
  if (!folder) {
    return;
  }
  folder.close();
  this.__ul.removeChild(folder.domElement.parentNode);
  delete this.__folders[name];
  this.onResize();
}

点击这里查看:dat.gui如何使用代码隐藏菜单


这个解决方案唯一的问题是,当我们使用dat.gui.destory()销毁dat.gui时,这不会删除所有已注册的事件,这可能会影响性能。 - Samiullah Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接