Extjs:无法创建Checkbox

时间:2015-03-20 10:17:21

标签: extjs extjs3

我正在

TypeError {stack: (...), message: "undefined is not a function"}

我该如何解决这个问题?

if (type == 'CheckBox') {

  var defVal = '';  
    if(config.defaultValue && config.defaultValue !== 'none'){
      defVal =config.defaultValue;
    }
  comp = new Ext.form.CheckBox({  
    id : 'checkBox',
    checked :  true ,
    boxLabel : config.displayKey,
    value  : defVal === true ? true : false,
    disabled : config.isEditable === true ? false : true,
    width : width,
    labelStyle : lblStyle
  });
}

1 个答案:

答案 0 :(得分:0)

在ExtJ中,你不会实例化像new ExtJs.form.Checkbox()这样的类。 ExtJs.form.Checkbox()确实不是一个功能。

编辑:看起来你的用法在ExtJs 3.0中是正确的。如果您使用旧版本,我的回答可能是错误的。但最重要的是,你没有告诉我们哪个函数是未定义的。您删除了错误消息中最重要的部分。

您需要像这样更改代码:

comp = Ext.create('Ext.form.CheckBox', {
    id : 'checkBox',
    checked : true ,
    boxLabel : config.displayKey,
    value : defVal,
    disabled : !config.isEditable,
    width : width,
    labelStyle : lblStyle
});

我简化了value === true ? false : true的同一时间,可以写成简单的否定!value

您可以通过value : defVal === true ? true : false,进一步简化和替换value : config.defaultValue === true,并删除涉及defVal的第一行。