Search code examples
javascriptextjssencha-touch-2

sencha add list to panel,then add panel to my tabpanel.in controller


when i write code direct in my view .the list success display in my tabpanel's tab.look the view underneath

        {
            xtype: 'tabpanel',
            itemId: 'tabfirst',
            flex: 1,
            //activeItem: 1,
            tabBar: {
                layout: {
                    pack: 'center'
                }
            },
            items: [
                {
                    title: 'tab1',
                    xtype: 'list',
                    itemTpl: '{title}',
                    data: [
                        {title : 'title1'},
                        {title : 'title2'},
                        {title : 'title3'}
                    ]                        
                },
                {
                    title: 'tab2',
                    html: 'here second html2'
                }
            ]
        }

but it not success in my controller. there is nothing in my tab.

Ext.define('ylp2p.controller.addtab',{
extend: 'Ext.app.Controller',
launch: function(){
    var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[0];//--get my tabpanel
    var titlestor = Ext.create('ylp2p.store.loanlist');//---get my store
    titlestor.load({
        callback: function(records, operation, success){
            Ext.each(records, function(record){
                var loanname = record.get('loanname');
                var myPanel = Ext.create('Ext.Panel',{ 
                    //the code is same in my view but not work
                    title: loanname,
                    xtype: 'list',
                    itemTpl: '{title}',
                    data: [
                        {title : 'title1'},
                        {title : 'title2'},
                        {title : 'title3'}
                    ]
                });
                moneytab.add([myPanel]);
               //add above panel
            });
        }
    });
}
});

when i add only "title" and "html" in panel,it work. then i change it to list.it success in direct write in view. but it not work write it direct in controller.


Solution

  • Use this code to add List. It will work.

    var myPanel = Ext.create('Ext.List', {
    //the code is same in my view but not work
    title: loanname,
    itemTpl: '{title}',
    data: [
        { title: 'title1' },
        { title: 'title2' },
        { title: 'title3' }
    ]
     });
     moneytab.add([myPanel]);