对于Extjs 容器类组件的认识

对于Extjs 容器类容器(配置项里可以包含items)来说,如果在配置项目中未曾配置items 而配置了id 则通过 getCmp(id)的方法得到的组件,是无法访问items的,但是可以这样作 :
    1 声明一个组件,使其不包含items 如
var grp = new Ext.form.CheckboxGroup({fieldLabel : '通信规约',id:'protocolField', width:200,columns:1});

则 grp可以设置items了 eg. grp.items = 配置项

完整例子如下 :

var Pro_ds = new Ext.data.Store({url : prePath + 'myk/CodeTypeAction',method : 'post',
                               reader : new Ext.data.JsonReader({root : 'list'}, ['name', 'uri'])});
    Pro_ds.load({params:{codetype:'终端协议'},
     callback :function(r,o,success){ 
             if(success){
             var array = [];

                 for(var i=0;i<r.length;i++){ 
                      var rcd = r[i];
                      var checkbox = {inputValue:rcd.data.uri,boxLabel:rcd.data.name};
                      array.push(checkbox);                  
                   }

var grp = new Ext.form.CheckboxGroup({fieldLabel : '通信规约',id:'protocolField', width:200,columns:1});
                 grp.items = array ;
                 p.add(grp);
             }
     }
    ,scope:this});

经验之谈 : 容器类组件一般要使用动态的items,不要在new时配置参数中体现,可以通实实例变量.items = “items” 的方式用 ;

你可能感兴趣的:(ext)