Error a agregar un componente MIGUDCOLECCIÓN AL FORMULARIO EXTJS
-
12-12-2019 - |
Pregunta
Estoy tratando de construir dinámicamente un formulario de extjs y cuando intento agregar el objeto de cálculo mixto construido dinámicamente al formulario, obtengo un error typeError: e.mixins.elentct es un error indefinido .
<div id="form-@pageSpecificVar" class="grid-container even"></div>
<script>
Ext.define('HeaderForm', {
extend: 'Ext.form.Panel',
initComponent: function () {
var me = this;
Ext.applyIf(me, {
id: Ext.id(),
defaultType: 'textfield',
items: [{
xtype: 'container',
items: [{
xtype: 'textfield',
fieldLabel: 'Test'
}]
}]
});
me.callParent(arguments);
}
});
// Define our data model
Ext.define('HeaderModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'FieldA', type: 'int' }
]
});
var store = Ext.create('Ext.data.Store', {
model: 'HeaderModel',
proxy: {
type: 'ajax',
actionMethods: { create: 'POST', read: 'GET', update: 'POST', destroy: 'POST' },
url: '@Url.Content("~/Test/Header")',
timeout: 1200000,
listeners: {
load: function () {
}
}
}
});
store.load({
scope: this,
callback: function (records, operation, success) {
var form = new HeaderForm();
var formItems = new Ext.util.MixedCollection();
Ext.each(records[0].fields.items, function (item) {
console.log(item);
formItems.add(new Ext.form.DisplayField({
fieldLabel: 'Test'
}));
}, this);
console.log(formItems);
form.add(formItems);
form.loadRecord(records[0].data);
form.render('form-@pageSpecificVar');
}
});
</script>
Otra cosa que no entiendo es, cuando puse la función dentro del oyente de carga, no pasa nada. Así que tuve que recurrir a usar el evento de devolución de llamada.
Actualizar: El método de Form.add toma un componente o una matriz de componentes, por lo que en lugar de agregar un tipo de cálculo mixto, me refiero a Formitems.items para agregar la matriz de componentes de campos de pantalla.
q2
Además, algo raro es que durante el método de devolución de llamada de Store.load, los registros no se devuelven con los valores cargados.
No importa esto ... me di cuenta ... Fue el objeto JSON que estoy pasando. Se olvidó de sacarlo de la estructura de error / datos de forma.
gracias
Solución
MEDICEDCOLLECTECTECT No es un parámetro aceptado para agregar, debe usar una matriz.Esta información está en los documentos.