Формы Sencha Touch нельзя использовать при создании с помощью Ext.create

У меня есть это:

my.Settings = {
    id: 'settings',
    xtype: 'panel',
    title: 'Settings',
    iconCls: 'settings',
    layout: 'card',
    items:[
        my.form1,
        my.form2
    ]
};

Когда my.form1 является объектом конфигурации, форма видна и на нее можно щелкнуть (ввод разрешает ввод, выбор вызывает раскрывающиеся параметры и т. д.).

Однако, когда я пытаюсь использовать Ext.define и Ext.create, форма появляется визуально, но ничего нельзя выбрать. Если я использую панель вкладок, вкладки не интерактивны, а входы в формы не будут фокусироваться или вызывать клавиатуру, и, похоже, вообще не реагируют на ввод.

Вот как я пробовал:

Ext.define('my.form1', {
extend: 'Ext.form.Panel'
config:{...}
}

...

items: [
   Ext.create('my.form1',{id: 'myForm1'})
]

А как насчет второго метода, из-за которого форма ломается? Я пытаюсь перейти к использованию require и Ext.create для динамической загрузки, но я не могу этого сделать, если не могу заставить работать простейший случай.


person Stefan Kendall    schedule 11.12.2011    source источник


Ответы (1)


Вы установили текущий активный элемент? Поскольку вы используете раскладку карт:

var panel = Ext.create('Ext.Panel', {
layout: 'card',
items: [
    {
        html: "First Item"
    },
    {
        html: "Second Item"
    },
    {
        html: "Third Item"
    },
    {
        html: "Fourth Item"
    }
]
});
// here we set the active item to show on the screen
panel.getLayout().setActiveItem(1);

См. http://docs.sencha.com/touch/2-0/#!/api/Ext.layout.Card для получения дополнительной информации.

person adis    schedule 12.12.2011
comment
Я не; это может быть проблемой. Интересно, почему это сработает только при использовании объектов конфигурации. - person Stefan Kendall; 12.12.2011