Ошибка Добавление компонента Mischercoglecollection для формы EXTJS

StackOverflow https://stackoverflow.com//questions/12701190

Вопрос

Я пытаюсь динамически построить форму Extjs, и когда я пытаюсь добавить динамически созданный объект MischerCollection к форме, которую я получаю ImporeError: e.mixins.Elementct - неопределенный ошибка.

<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>
.

Другая вещь, которую я не понимаю, это, когда я помещаю функцию внутри слушателя нагрузки, ничего не происходит. Поэтому мне пришлось прибегать к использованию события обратного вызова.

<Сильное> Обновление: FORM.ADD метод принимает компонент или компонентный массив, поэтому вместо добавления типа MischerCollection I относятся к FormitEms.items, чтобы добавить массив компонентов DisplayFields.

Но по какой-то причине слушатели магазина нагрузка не запускается, когда выполняется Store.Load, кто-нибудь увидит проблему с этим? Немного это ... Я выяснил ... Я поместил слушателя вместо прокси вместо магазина.

<Сильные> Q2

Также что-то странное состоит в том, что во время метода обратного вызова магазина. Загрузить, записи не возвращаются с загруженными значениями. Немного это ... Я выяснил ... это был объект JSON, который я прохожу. Забыл вывести его из ошибки / структуры данных для формы.

Спасибо

Это было полезно?

Решение

ProjectionCollection не является принятым параметром для добавления, вам необходимо использовать массив.Эта информация в документах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top