我正在使用mxgraph库来创建自定义编辑器。在我的编辑器中,我有一个mxToolbar
对象,每次在画布上创建新元素时都在其中添加新元素。
mxToolbar的代码
var tbContainer = document.createElement('div');
tbContainer.style.position = 'absolute';
//style etc.
document.body.appendChild(tbContainer);
//create the toolbar
var toolbar = new mxToolbar(tbContainer);
我可以使用以下代码轻松地向mxToolbar对象添加图标:
toolbar.addMode('the title name of the icon', 'editors/images/rectangle.gif');
现在我想做的是找到一种方法删除mxToolbar中添加的1个或多个模式。我尝试使用mxToolbar.destroy()
方法,但似乎不起作用。有什么简单的方法可以使用库的功能来实现上述方案?在此先感谢:)
编辑
到目前为止,对于要清除mxToolbar中的每种模式的情况,我已经实现了“脏”解决方案,首先我重新创建工具栏,然后删除从上一个图像中创建的所有先前图像
toolbar = new mxToolbar(tbContainer);
toolbar.enabled = false
var mxToolbarModes = document.querySelectorAll('.mxToolbarMode');
Array.prototype.forEach.call( mxToolbarModes, function( node ) {
node.parentNode.removeChild( node );
});
但是必须有更好的东西...