Формы Sencha Touch не могут быть использованы при создании с помощью Ext.create - PullRequest
2 голосов
/ 11 декабря 2011

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

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 для динамической загрузки, но я не могу этого сделать, если не могу заставить работать самый простой случай.

1 Ответ

1 голос
/ 12 декабря 2011

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

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 для получения дополнительной информации.

...