Modelo ExtJS 4.2.1 - campo valor predeterminado:indefinido no es una función
-
26-12-2019 - |
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.
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)
},