I'm using dat.GUI and want to replace a folder with new content.

var gui = new dat.GUI();
var folder = gui.addFolder('someString');

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

So I need a way to remove the previous folder or replace its content.

Any ideas?

有帮助吗?

解决方案

This solution worked for me. You need to add this function to the dat.GUI file or manually add it in your code:

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();
}

Check it out here: dat.gui how to hide menu with code

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top