我有一个复合视图:一个选项卡面板(这是一个视图,称为 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
})
]
},
....