Pregunta

En mi solicitud obtuve, p.dos modelos como este:

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

    fields: [
       ...
    ],...

y

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

    fields: [
        ...
    ],...

y en mi Model Station quiero agregar un campo con el valor predeterminado de una nueva traducción como esta:

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()
        },

aunque cuando inserto esta línea con el valor predeterminado aparece el siguiente error: Uncaught TypeError: undefined is not a function Parece que la clase de traducción no está cargada.No entiendo esto porque agregué la clase a la matriz requerida...

Por favor ayuda.

¿Fue útil?

Solución

El defaultValue es una cadena o el objeto que debería ser el valor predeterminado.

El problema es ese new App.model.Translation() Probablemente no devuelva lo que necesita.Debería devolver una cadena vacía o 0 o algo similar (solo un valor predeterminado simple para el Nombre).

Si quieres traducir, debes usar la configuración. convert como

convert: function(value) {
    App.model.Translation.translate(value)
},
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top