sencha将列表添加到面板,然后将面板添加到我的tabpanel.in控制器

时间:2015-09-11 13:51:42

标签: javascript extjs sencha-touch-2

当我在我的视图中直接编写代码时。列表成功显示在我的tabpanel选项卡中。查看下面的视图

        {
            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'
                }
            ]
        }

但是我的控制器没有成功。我的标签中没有任何内容。

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
            });
        }
    });
}
});

当我在面板中仅添加“title”和“html”时,它可以工作。然后我把它改成list.it成功直接写入视图。但它无法直接在控制器中写出来。

2 个答案:

答案 0 :(得分:0)

由于我没有足够的声誉来发表评论,我将其作为答案发布:

您是否尝试过提供您的视图全屏:真实配置,还是将您的控制器包含在Ext.app.Application控制器列表中?

答案 1 :(得分:0)

使用此代码添加List。它会起作用。

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]);