0

我有一个复合视图:一个选项卡面板(这是一个视图,称为 Man)在其中一个面板中有一个垂直框(另一个视图,称为 ListView),在这个垂直框中有一个列表对象(它是一个项目的vbox)。

很清楚如何加载/刷新等列表项,但只有当我为 vbox 分配固定高度时,我才能可视化列表。

我不知道会有多少列表项,所以我不能总是使用固定高度。到目前为止,我发现的唯一方法是计算项目并在 vbox 上使用“setHeight”。我不喜欢这种方法,因为我必须固定每个项目行的高度(这是好的但不是最佳的)。如果我从 ListView 视图中删除 vbox,我无法在页面中正确呈现列表:如果我检查页面,我会找到这些值,但它们位于一些高度和宽度为 0 的框内,因此列表值不能可见。

主视图相关代码:

             //Tabbed view
             xtype: 'tabpanel',                     
             tabBarPosition: 'bottom',
             flex: 1,
             items: [
                        {
                            ...                    
                        },    
                        {
                            title: 'List',
                            iconCls: 'more', 
                            id:'more',
                            scrollable: true,
                            styleHtmlContent: true,
                            items: [
                                    Ext.create('MyApp.view.ListView')
                            ]                
                        },
                        {
                            ...              
                        }
             ]      

ListView的相关代码:

Ext.define('MyApp.view.ListView', {
    extend: 'Ext.Container',    
    requires: [...,'Ext.List'],

    config:{
      layout: 'vbox',
      id: 'listBox',        
      scrollable:false,
      height: 200, //**without a fixed height, the list is not visible in the page**
      items: [
            Ext.create('Ext.List',{
                 model: 'MyApp.model.SomeModel',
                 flex: 1,
                 scrollable:false
            })         
      ]     
  },
  ....
4

0 回答 0