若所有标签允许删除,将所有标签删除后,再多次点击重复的菜单项,标签会重复生成,而非跳转到已有。
这是因为源码的139行有个else:openTabs = new Array();
当控件的openTabs数组为空时,就会跳转到这一行来。
然而,这一行中的openTabs原本是指向控件的this.openTabs,在这里直接new了一个Array,会导致openTabs不再指向this.openTabs,而是一个新的Array。所以,后续对openTabs所做的修改,不会再影响到控件的this.openTabs,就导致了这个bug。
只要将这一行else后的代码改为:
openTabs = this.openTabs = new Array();
即可。