对于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” 的方式用 ;
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” 的方式用 ;
本文介绍如何在Extjs中动态地为CheckboxGroup组件配置items属性。通过避免在初始化时直接定义items,而是利用实例变量的方式进行动态设置,实现更灵活的组件管理。
5169

被折叠的 条评论
为什么被折叠?



