user interface - Cómo eliminar el elemento dat.GUI?
user-interface three.js (3)
Encontré esta función para eliminar un elemento gui, pero creo que está desactualizado. Hasta ahora no he podido encontrar a nadie más que sepa cómo eliminar cualquier parte de una GUI, ya sea un dat.GUI () completo o simplemente un elemento añadido a un dat.GUI (). El primero probablemente sea suficiente para lo que necesito (simplemente eliminando el dat.GUI ()) ¡pero cualquiera de los dos sería muy útil!
se supone que debe eliminar un dat.GUI ()
gui = new dat.GUI();
...
removeGui(gui);
function removeGui(gui, parent)
{
if(!parent)
{
parent = dat.GUI.autoPlaceContainer;
}
parent.removeChild(gui.domElement);
}
Pero devuelve el error: no se puede llamar al método ''removeChild'' de undefined, así que supongo que autoPlaceContainer está equivocado.
El autor original de esta función dejó estas notas:
donde los parámetros gui representan el DAT.GUI que desea eliminar y el primario es el contenedor padre donde, si no especificó un dominio al crear una instancia de DAT.GUI, entonces no necesita pasar un elemento primario.
Cambie la función de eliminación en el archivo dat.gui.js: "slice" quiere ser "splice".
La respuesta se puede encontrar aquí: https://github.com/ulyssesp/dat.gui/commit/86f43c0be5db08c9a6d7339aa8287620306fb0b5
Si desea eliminar todo el elemento dat.GUI junto con todos sus oyentes, puede usar gui.destroy()
var gui = new dat.GUI();
item = gui.add(text, ''message'');
Borrar:
gui.remove(item);
Si su artículo está dentro de una carpeta, debe hacer lo siguiente:
folder.remove(item);