0

我现在用 Sencha Touch 2 创建一个应用程序并得到一个奇怪的行为。我创建了一个 tab.panel 来保存不同的细节视图。其中一个视图是列表。

目前我的 tab.panel 中只有两个面板。当我将列表声明为第一个对象并将 html-tab 声明为第二个对象时,一切正常。但是当我将列表定义为第二个元素时,它将覆盖另一个选项卡,因此它根本不可见。

这是什么行为,我该如何避免?

这是我的代码:

tab.panel-Container:

Ext.define('my.view.DetailsContainer', {
extend: 'Ext.tab.Panel',
xtype: 'DetailsContainer',
alias: 'DetailsContainer',
id: 'DetailsContainer',

config: {
    tabBarPosition: 'bottom',

    defaults: {
        styleHtmlContent: true
    },
    activeItem: 0,

    items: [
        {
            xtype: 'ListView'
        },
        {
            xtype: 'DetailsInfo'
        }


    ]
},

updateData: function() {
    this.callParent(arguments);
    this.query('#DetailsInfo')[0].setData(this.getData());

    this.fireEvent('loadInfos', '', this.getData().object);
}
});

列表视图:

Ext.define('my.view.ListView', {
extend: 'Ext.Panel',
xtype: 'ListView',
alias: 'ListView',

requires: [
    'Ext.dataview.List'
],

config: {
    title: 'Services',
    iconCls: 'more',
    layout: 'fit',

    items: {
        xtype: 'list',
        store: 'services',
        //Bei Klick auf ItemDisclosurebutton zeige nähere Informationen zum Service
        onItemDisclosure: function(store, item) {
            var service = item.getRecord().serviceid;
            console.log(service);
        },
        itemTpl: '<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>' +
            ' {label}' +
            '</div>'
    }
}
});

html视图:

Ext.define('my.view.DetailsInfo', {
extend: 'Ext.Panel',
xtype: 'DetailsInfo',
alias: 'DetailsInfo',
id: 'DetailsInfo',

config: {
    scrollable: 'vertical',
    layout: 'fit',
    iconCls: 'info',
    title: 'Info',

    html: '<p>My data</p>'
}
});
4

0 回答 0