Sencha touch 如何在Sencha touch 2.1中添加面板作为列表项?

Sencha touch 如何在Sencha touch 2.1中添加面板作为列表项?,sencha-touch,sencha-touch-2,sencha-touch-2.1,Sencha Touch,Sencha Touch 2,Sencha Touch 2.1,我正在尝试将列表(及其项)动态添加到容器中。 我需要的不是简单的HTML模板,而是列表项来包含带有标题栏、图像和其他一些内容的面板 为此,我正在加载存储数据并在其回调中创建项列表和数组。然后我将项目添加到列表中,并将列表添加到容器中,但最终结果只是最后一个可见的面板,而不是所有面板的滑动列表 这是我的密码: var vLists = []; this.load({ callback: function(records, operation, success) {

我正在尝试将列表(及其项)动态添加到容器中。 我需要的不是简单的HTML模板,而是列表项来包含带有标题栏、图像和其他一些内容的面板

为此,我正在加载存储数据并在其回调中创建项列表和数组。然后我将项目添加到列表中,并将列表添加到容器中,但最终结果只是最后一个可见的面板,而不是所有面板的滑动列表

这是我的密码:

    var vLists = [];
    this.load({
        callback: function(records, operation, success) {
            var hccontainer = Ext.getCmp('hccontainer');
            this.each(function(record){
                var sid = 'styleStore'+record.get('id');
                var styleTemplate = eval('tpls.styleTemplate_' + record.get('id'));
                vLists.push({
                    xtype: 'panel',
                    scrollable: 'false',
                    layout: 'fit',
                    cid : record.get('id'),
                    ctype : record.get('type'),
                    cname : record.get('name'),
                    stid : sid,
                    tp : styleTemplate,
                    items: [
                        {
                            xtype : 'titlebar',
                            title : record.get('name'),
                            docked : 'top',
                            cls : 'x-toolbar-transparent-top'
                        },
                        {
                            xtype : 'image',
                            src : record.get('image'),
                        }
                    ]
                });
            });
            //hccontainer.remove(Ext.getCmp('hc'), true);
            Ext.getCmp('hc').destroy();
            var hc1 = Ext.create('Ext.dataview.List', {
                layout : 'fit',
                config: {
                    direction: 'horizontal',
                    id : 'hc'
                }
            });
            hc1.setItems(vLists);
            Ext.getCmp('hccontainer').add(hc1);
        },
        scope: this
    });
这是添加项目的正确方法还是我遗漏了一些东西


PS如果我使用旋转木马而不是列表,这很好

旋转木马比列表更像一个布局组件。看起来您不需要使用列表,例如,我没有看到任何用于项目点击的处理程序。如果要避免使用模板,则不应使用列表。相反,只需制作一个具有类似列表布局的组件。我会使用一个vbox布局的容器,水平拉伸,静态高度。然后,您可以将任何需要的项目配置放入其中。

旋转木马比列表更像是一个布局组件。看起来您不需要使用列表,例如,我没有看到任何用于项目点击的处理程序。如果要避免使用模板,则不应使用列表。相反,只需制作一个具有类似列表布局的组件。我会使用一个vbox布局的容器,水平拉伸,静态高度。然后,您可以将任何您想要的项目配置放入此中。

谢谢!我也这样做了,创建了一个带有vbox布局的父面板,然后在记录上创建面板数组,并使用panel.setItems(面板数组)创建列表。谢谢!我也这样做了,创建了一个带有vbox布局的父面板,然后在记录上创建面板数组,并使用panel.setItems(面板数组)创建列表。