是否可以像jQuery的[.attr(attributeName, value)][1]
那样将Ext JS组件属性(可见性、值等)设置为特定值?
我正在获取组件名称、属性/属性名称和值,并需要更新用户界面。我的第一种解决方案使用了一个“字典”(是的,我是一个C#开发人员),它调用给定属性的正确方法并支持可见性、值、启用。
var methodMapper = {
"visibility" : function(comp, value) {
if(value == "true" || value == "on" || value == "1" || value == "visible")
comp.show();
else
comp.hide();
},
"value" : function(comp, value) {
comp.setValue(value);
},
"enable" : function(comp, value) {
if(value == "true" || value == "on" || value == "1" || value == "visible")
comp.enable();
else
comp.disable();
}
};
function receiveMessage(element, property, value) {
var func = methodMapper[property];
if(!func) return;
var comp = Ext.getCmp(element); // retrieve component
func(comp, value); // set property to value
}
有没有更好的解决方案来设置组件中的属性?我想扩展支持的属性到宽度,高度,可拖动等。