ExtJS 4.2.1模型 - 字段defaultValue:undefined不是函数

时间:2013-11-18 10:11:29

标签: javascript extjs model extjs4.2

在我的申请中,我得到了这样的两个模型:

Ext.define('App.model.Translation', {
    extend: 'App.model.MRModel',
    requires: 'App.model.TranslationItem',

    fields: [
       ...
    ],...

Ext.define('App.model.administration.Station', {
    extend: 'App.model.MRModel',
    requires: [
        'App.model.Translation',
        'App.classes.proxy.ProxyNegotiator'            
    ],

    fields: [
        ...
    ],...

在我的Model Station中,我想添加一个具有新翻译默认值的字段,如下所示:

Ext.define('App.model.administration.Station', {
    extend: 'App.model.MRModel',
    requires: [
        'App.model.Translation',
        'App.classes.proxy.ProxyNegotiator'        
    ],

    fields: [
        { name: 'Id', type: 'int', convert: null },
        {
            name: 'Name',
            type: 'auto',
            convert: function(value) {
                ...
            },
            defaultValue: new App.model.Translation()
        },

虽然当我使用默认值插入此行时,会出现以下错误:Uncaught TypeError: undefined is not a function 似乎翻译类没有加载jet ..我不知道这个因为我把类添加到requires数组...

请帮忙。

1 个答案:

答案 0 :(得分:1)

defaultValue是一个字符串或应该是默认值的对象。

问题是new App.model.Translation()可能无法返回您需要的内容。它应返回一个空字符串或0或类似的东西(只是 Name 的简单默认值)。

如果你想翻译,你应该使用配置convert,如

convert: function(value) {
    App.model.Translation.translate(value)
},