私がやりたいのは、データのリストのアイテムを条件付きで表示することです。つまり、アイテムが条件を満たしている場合は表示され、そうでない場合は表示されません(空白のアイテムを表示するという意味ではありません)。表示されるデータは次のとおりです。
[
{'label':'one','isvisible':'1','value':'one'},
{'label':'two','isvisible':'1','value':''},
{'label':'three','isvisible':'0','value':'three'},
{'label':'four','isvisible':'0','value':''}
]
そして、私のリストは以下のようなものです:
xtype : 'list',
id : 'myListId',
disableSelection : true,
itemTpl : [
'<tpl if="isvisible == 1 && value !=\'\' ">',
'{label}{value}',
'</tpl>'
]
しかし、リストが表示されたとき、アイテムが条件を満たしている場合(プロパティ「表示」が1またはプロパティ「値」が空)、空白行がいくつかあります。
最初に'<tpl for="." '
、私はこのリンクをたどりました: リンクを使用しましたが、データのリストにはルートノードがないため、上記のitemtplを使用しました。
データのリストの構造を変更したくないのですが、どうすればよいですか?
更新:私はストアを使用しません。データを取得してから、次のようにデータをリストのデータ構成に割り当てます。
var data=[{text:'1'},{text:'2'},{text:'3'}];//usually the data array comes from the response of an ajax request to the remote server.
var list=Ext.getCmp('myListId');
list.setData(data);