結果を表示するためにリストの上に検索フォームが必要な場所で行うかなり一般的なタスクがあります。問題は、リストに結果が表示されないことです。ストアとプロキシは正しく機能します。リストの高さは常に 0px です。
私はすでに検索しており、これを回避する一般的な方法はフィットレイアウトを使用することですが、親パネルでそれを使用すると、使用されている幅が 10px であるかのようにすべてが小さく見えます。
リストで残りのスペースを埋める必要があるため、固定の高さを設定できません。また、ボタンと入力フィールドのデフォルトサイズを使用したい場合に、フレックスオプションによって検索フォームが引き伸ばされることもありません。
ビューで使用している設定は次のとおりです
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' }
]
}
]
},
],
}
});
この画像は、私が達成しようとしていることを説明しています。リストコンテナに高さを手動で設定してこのスクリーンショットを撮りました。問題は、リストの高さがデフォルトでフォームの下のスペースを埋めていないことです。