在Ext.TabPanel 動態增加標簽卡應該也算一個常見的需求,不過由於本人第一次接觸,被這個不難道的問題卡了半天,特此記錄一下。
添加的方法不難道,用 add(newtab),insert(index,newtab)都可以,insert的好處是可以指定插入的位置,add方法都是默認添加到最后。
添加的形式有兩種:
第一種,定義一個變量,然后添加變量:
var panel=new Ext.Panel({
id:myid,
title:mytitle,
html:'<iframe id="sub" name="sub" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>',
closable:true
});
pTab.add(panel);
第二種,不定義變量,直接添加:
pTab.add({
id:myid,
title:mytitle,
html:'<iframe id="sub" name="sub" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>',
closable:true
});
從添加標簽卡的角度看,兩種效果是一樣的,都增加成功了。但是第一種方式增加的標簽卡,內部的HTML里面的元素IFRAME是無法被識別的,
用document.getElementById()方法也是拿不到對象的。第二種方法卻可以。
如果用谷歌瀏覽器調試也可以發現,用兩種方法增加的標簽卡對象的內部結構也是有差異的,第二種方法添加的標簽卡對象與創建的時候添加的
標簽卡對象是完成一樣的,所以內部的IFRAME可以識別
