setActiveItem не работает с панели sencha - PullRequest
1 голос
/ 22 ноября 2011

У меня есть список на панели вкладок, и я добавил onItemDisclosure, который должен переключиться на страницу (внутри панели вкладок). setActiveItem не работает, и ошибка, которую я получил, состоит в том, что: [undefined] не является функцией. Код:

Toolbar.views.listPanel = Ext.extend(Ext.List,{
         id:'mylist',
         store:ListStore,
         itemTpl: '<div class="stores"><b>{name}</b><br/><p style="font-size:small">{address}{distance}Km</p></div>',
         //grouped:true,
         onItemDisclosure: function(){
                //Ext.Msg.alert("closure works!");
                //Toolbar.views.detailPanel.update();
                //alert(Toolbar.views.detailPanel);
                Toolbar.views.Searchcard.setActiveItem(Toolbar.views.detailPanel,{type:'slide',direction:'left'});
         }

     });

Панель для переключения на:

Toolbar.views.detailPanel = Ext.extend(Ext.Panel,{
id:'detailpanel',
tpl:'Hello!'
});

Ext.reg('searchcard', Toolbar.views.Searchcard);
Ext.reg('listPanel', Toolbar.views.listPanel);   
Ext.reg('detailPanel', Toolbar.views.detailPanel);  

Заранее спасибо,

1 Ответ

1 голос
/ 23 ноября 2011

Проблема в том, что вы ссылаетесь на класс, а не на экземпляр карты поиска. Вы должны ссылаться на него, используя запрос компонента.

Обычно это так:

masterComponent.getComponent('your_component_itemID');

Или вы можете использовать panel.query (селектор)

http://docs.sencha.com/touch/1-1/#!/api/Ext.Panel-method-query

Действительно, вместо того, чтобы просто взломать его, взгляните на эту статью: http://www.sencha.com/learn/a-sencha-touch-mvc-application-with-phonegap/

...