Sencha:无法设置正确的布局:(

时间:2013-05-29 12:57:45

标签: layout sencha-touch-2 containers

我正在尝试创建一个包含四个项目的容器,而我需要的是容器是滚动而不是每个单独项目的容器,我也希望每个项目都拥有它自己的高度所以如果这四个项目比屏幕大,用户可以向下滚动容器以查看其他项目信息......

的jsfiddle: http://jsfiddle.net/martuanez/7GV3b/

我的代码:

var store = {
    type: 'store',
    fields: ['label', 'value'],
    data: [{
                    label: 'label',
                    value: 'value',
            }, {
                    label: 'label',
                    value: 'value',
            }, {
                    label: 'label',
                    value: 'value',
            },
    ]
};

Ext.Loader.setConfig({
            enabled: true
    });
Ext.application({
            name: ('SF' || 'SenchaFiddle'),
            launch: function () {
                    Ext.define('MyApp.view.Contacts.ContactsDetailsView', {
                                    xtype: 'ContactsDetailsView',
                                    extend: 'Ext.Container',
                                    config: {
                                            layout: {
                                                    type: 'vbox',
                                                    padding: 3
                                            },
                                            defaults: {
                                                    scrollable: {
                                                            direction: 'horizontal',
                                                            directionLock: true
                                                    },
                                                    height: 500,
                                                    layout: 'fit'
                                            },
                                            scrollable: 'vertical',
                                            itemCls: 'details-list-container',
                                            items: [{
                                                            xtype: 'dataview', //add xtype
                                                            itemId: 'detailItem',
                                                            loadingText: 'Loading keys...',
                                                            emptyText: '<div>No keys found.</div>',
                                                            store: store,
                                                            onItemDisclosure: false,
                                                            itemTpl: '<br/>item 1:<br/> {label}<br/>{value}<br/><br/>',
                                                            itemCls: 'details-list',
                                                            selectedItemCls: '',
                                                            disableSelection: true,
                                                            pressedCls: ''
                                                    }, {
                                                            xtype: 'list',
                                                            itemId: 'detailKeys',
                                                            store: store,
                                                            loadingText: 'Loading keys...',
                                                            emptyText: '<div>No keys found.</div>',
                                                            onItemDisclosure: false,
                                                       itemTpl: 'item 2: {label}{value}<br/>',
                                                            itemCls: 'details-list',
                                                            selectedItemCls: '',
                                                            disableSelection: true,
                                                            pressedCls: ''
                                                    }, {
                                                            xtype: 'list', //add xtype
                                                            itemId: 'detailuserdefs',
                                                            store: store,
                                                            loadingText: 'Loading userdefs...',
                                                            onItemDisclosure: false,
                                                            itemTpl: 'item 3: {label}{value}<br/>',
                                                            itemCls: 'details-list',
                                                            selectedItemCls: '',
                                                            disableSelection: true,
                                                            pressedCls: ''
                                                    }, {
                                                            xtype: 'list',
                                                            itemId: 'detailOthers',
                                                            store: store,
                                                            loadingText: 'Loading userdefs...',
                                                            onItemDisclosure: true,
                                                            itemTpl: 'item 4: {label}{value}<br/>',
                                                            itemCls: 'details-list'
                                                    }
                                            ]
                                    }

                            });


                        Ext.Viewport.add(Ext.create('MyApp.view.Contacts.ContactsDetailsView'));
            }
    });

1 个答案:

答案 0 :(得分:0)

我最终使其工作,我在容器的默认部分和子项目的高度上将scrollable设置为false。  发生的一件事是,当在子项中将scrollable设置为false时,而不是在默认值中,sencha无法识别高度,这是他们声称已经修复的错误,实际版本在我写这个时2.2,版本我正在研究2.1.1

注意:我还设法在每个项目上设置dinamic高度,我通过将它分开并稍后通过执行myContainer.add(itemWithDinamicHeight)添加项目来完成此操作;
;)

干杯!