在 Ext JS 开发过程中,CheckboxGroup 组件的初始化值设置时常让开发者感到棘手——因为原生的 setValue() 方法只能设定单个值,当需要同时选中多个选项时,必须额外编写处理逻辑。以下提供的这段重写代码扩展了 Ext.form.CheckboxGroup,新增了 setValueForItem 方法:它能够通过逗号分隔的字符串一次性设置多个选项值,并同时提供了 clearValueForItem 方法,用于一键清除所有已勾选选项。实现方式简洁高效,现直接分享给大家参考。

复制代码 代码如下:
Ext.override(Ext.form.CheckboxGroup,{
setValueForItem : function(val){ //多个选项值以逗号分开的
val = ","+val+","
this.items.each(function(item) {
if (val.indexOf(item.inputValue) > -1) {
item.setValue(true);
} else {
item.setValue(false);
}
});
}
,clearValueForItem:function(){ // 清空所有值
this.items.each(function(item) {
item.setValue(false);
});
}
});
