有一个非常常见的任务要做,我需要一个列表上方的搜索表单来显示结果,问题是列表没有显示结果,商店和代理正常工作,因为当我使用 firebug 来定位列表项时列表的高度始终为 0px。
我已经搜索过,解决这个问题的常用方法是使用合适的布局,但是在父面板上使用它会使所有看起来都很小,就好像使用的宽度是 10 像素一样。
我无法设置固定高度,因为我希望列表填充剩余空间,并且当我希望使用按钮和输入字段的默认大小时,flex 选项不会导致搜索表单拉伸。
这是我在视图上使用的配置
Ext.define('MyApp.view.search.Search', {
extend:'Ext.navigation.View',
xtype: 'search_view',
config:{
items:[
{
fullscreen:true,
scroll:false,
xtype:'panel',
title:'Search',
items:[
{
xtype:'searchfield',
name:'search',
label:'Search',
},
{
xtype:'container',
layout:'hbox',
width:'100%',
margin:'3 0 0 0',
defaults:{
flex:1
},
items:[
{
xtype:'selectfield',
options:[
{text:'Option 1', value:'opt1'},
{text:'Option 2', value:'opt2'}
]
},
{
xtype:'button',
text:'Search',
action:'search'
}
]
},
{
xtype:'list',
itemTpl:['{title}'],
onItemDisclosure:true,
plugins:[
{ xclass: 'Ext.plugin.ListPaging' }
]
}
]
},
],
}
});
此图像描述了我试图实现的目标,我通过手动设置列表容器的高度来截取此屏幕截图,如您所见,问题是默认情况下列表高度不会填充表单下方的空间。