Dojo动态创建TabContainer

     也许,这个标题起的不是很合适,因为我们这里讲述的不是创建TabContainer,再创建ContentPane,而我们重点讲述的是动态创建TabContainer下面的ContentPane。为了项目需要,我们需要在TabContainer下面动态添加ContentPane。也就是在TabContainer后面动态的添加Tab,以下是效果图,你懂的。


     我们要在TabContainer下面创建ContentPane,首先当然需要一个已经存在的TabContainer。以下是HTML源码:

<div data-dojo-type="dijit.layout.TabContainer" data-dojo-attach-point="tabContainer">
       <div data-dojo-type="dijit.layout.ContentPane"  data-dojo-props='title: "搜索条件"'>
                <div class="searchConditionArea">
                       <label>ITCCXX FOR DEMO</label>
                </div>
       </div>
</div>

     我们在tabContainer下面动态的创建Tab,如下代码:

createAdvancedSearchTab :   function (event){
    var   tab = ecmwdgt.getBean( "advancedSearchContentDijit" , {
            title: event.payload.item.label,
            closable:   true
        });
    this .tabContainer.addChild(tab);
    this .tabContainer.selectChild(tab);
   tab.loadSearchCondition();
}

     也许读者不太理解 ecmwdgt.getBean( "advancedSearchContentDijit")的作用。这里是在创建Tab时,在Tab的Content中加载 advancedSearchContentDijit 页面,而后面的 tab.loadSearchCondition()也是加载的 advancedSearchContentDijit 页的一个方法。

      由于 advancedSearchContentDijit 中的内容与动态创建 TabContainer 并不直接的关系,因此这里就不再介绍 advancedSearchContentDijit 中的内容,关于动态创建TabContainer的内容就结束了。



你可能感兴趣的:(html,function,Class,div,dojo)