Макет карты не работает с формами - Sencha Touch 2

Я хочу 2 формы и хочу использовать макет карты, чтобы, когда пользователь отправляет форму 1, он попадал в форму 2. Но когда я пытаюсь MyApp.container.setActiveItem(2) (используя консоль), он не переходит на form2 (card2).

    Ext.define('MyApp.view.Forms', {
    extend: 'Ext.Container',
    xtype: 'formsPage',
    id: 'formsForm',

    config: {
        title: 'Patient Registration',
        iconCls: 'user',
        layout:{
            type: 'card'
        },

        items: [
        {
            xtype: 'fieldset',
            title: 'Patient Registration1',
            items: [
                {
                    xtype: 'textfield',
                    label: 'Names',
                    name: 'name'
                },
                {
                    xtype: 'textfield',
                    label: 'City',
                    name: 'city'
                }
            ]
        },
        {
            xtype: 'fieldset',
            title: 'Patient Registration1',
            items: [
                {
                    xtype: 'textfield',
                    label: 'Phone',
                    name: 'phone'
                },
                {
                    xtype: 'textfield',
                    label: 'Country',
                    name: 'conutry'
                }
            ]
        }
    ],  
    constructor:function(config) {
            this.initConfig(config);
            return this;
        }

    }

});

MyApp.container = Ext.create('MyApp.view.Forms', {});

person Gaurav    schedule 02.04.2012    source источник


Ответы (3)


Обратите внимание, что элементы массива в Sencha Touch 2 индексируются с 0, поэтому, если вы хотите активировать второй, это должно быть примерно так:

MyApp.container.setActiveItem(1)

Отредактировано: я разобрался. Вы должны добавить еще один конфиг в свой вид: fullscreen:true и он должен работать хорошо :)

person Thiem Nguyen    schedule 04.04.2012
comment
Я понял это. Вы должны добавить еще один конфиг в свой вид: fullscreen:true и он должен работать хорошо :) - person Thiem Nguyen; 04.04.2012
comment
Большое спасибо за помощь, это заставило setActiveItem(1) работать. Но у меня есть вкладка, в которой присутствует этот MyApp.view.Forms (см. - pastebin.com/sCzunzWq). При настройке полноэкранного режима: true, панель вкладок пропадает. - person Gaurav; 05.04.2012
comment
Я не уверен в вашем определении homepanel и contactPage, но этот код работал нормально. Не могли бы вы прислать мне более подробную информацию? Ext.application({ name: 'MyApp', views: ['Forms'], launch: function(){ Ext.create('Ext.TabPanel', { fullscreen: true, tabBarPosition: 'bottom', items: [ { title: 'Home', iconCls: 'home', html: 'Home Screen' }, { xtype: 'formsPage', } ] }); } }) - person Thiem Nguyen; 05.04.2012
comment
Пожалуйста, найдите домашнюю панель и контактную страницу - Home.js (homepanel) - pastebin.com/z1t1iSUw Contac.js ( contactPage) — pastebin.com/vJhHE8DK - person Gaurav; 06.04.2012
comment
Я скопировал ваш код, но нигде не смог найти productsPage, поэтому я предполагаю, что он такой же, как и другие, удаляю его с домашней панели и не вижу ошибок. Все нормально работает... - person Thiem Nguyen; 06.04.2012

Является ли ваша форма xtype «formsPage» пользовательской, я не могу найти ее в документе? Если это не так, это может способствовать возникновению проблемы.

Документ также предлагает вам не создавать макет карты напрямую, а вместо этого использовать карусель или панель вкладок. Может быть, использовать карусель в качестве базового компонента, а затем сделать каждую карточку отдельной формой? Это сделает ваши намерения ясными, что каждая карта/форма должна быть независимой.

надеюсь, это поможет

person SuperJumbo    schedule 02.04.2012

сделать следующее: расширить карусель

  1. расширить: 'Внеш.Карусель',

изменить раздел конфигурации на:

  1. config: { title: 'Регистрация пациента', iconCls: 'пользователь', cls: 'карта' ----

думаю, это должно исправить это

person rajankz    schedule 02.04.2012
comment
Согласно документации, меня попросили не использовать карусель. Раньше это была карусель, и мне поручили это изменить. - person Gaurav; 03.04.2012