私は、特定のカテゴリにサブスクライブすることをユーザーに提供するというこの要件を持っています。設計されるレイアウトは-
- チェックボックス=>上部の自動サブスクリプション設定を切り替えます。
- dataview =>中央に、サブスクリプションのリストとチェックボックスフィールドがあります。
- ボタン=>ユーザーがサブスクリプションリストを更新できるようにします。
データビューを正しく設定しました。Dataviewは休閑地として追加されます-
xtype: 'dataview',
itemTpl:'<div style="color:#fff;margin-left: 20px;background: transparent;" class="x-field-checkbox x-field">' +
'<span style="float:left">{name}</span>' +
'<span style="float:right">' +
'<input type="checkbox" class="x-input-el x-input-checkbox" style="display: inline;top:10px">'+
'</span>'+
'</div>',
fields:['name'],
data:[
{
name :'A'
},
{
name :'B'
},
{
name :'C'
}
コンポーネント番号1および3(上記の質問で指定)を追加しようとすると、データビューが表示されません。チェックボックスとボタンのみが表示されます。レンダリングされたhtmlを調べると、dataviewにdata
configが入力されていないことがわかります。これらの3つのコンポーネントを追加するために使用したコードは休閑中です-
Ext.define("PApp.view.home.Subscription", {
extend:'Ext.Container',
xtype:'subscription',
config: {
layout:'fit',
fullscreen:true,
scrollable:false,
items: [
{
xtype:'container',
fullscreen:true,
items:[
{
xtype:'checkboxfield',
name : 'subscriber-setting',
label: 'Subscriber',
value: 'yes',
checked: true
},
{
xtype: 'dataview',
itemTpl:'<div style="color:#fff;margin-left: 20px;background: transparent;" class="x-field-checkbox x-field">' +
'<span style="float:left">{name}</span>' +
'<span style="float:right">' +
'<input type="checkbox" class="x-input-el x-input-checkbox" style="display: inline;top:10px">'+
'</span>'+
'</div>',
fields:['name'],
data:[
{
name :'A'
},
{
name :'B'
},
{
name :'C'
}
},
{
xtype:'button',
text:'Update',
ui:'action'
}
}
]
}
});
dataviewが表示されない(データが入力されていない)理由がわかりません。チェックボックスとボタンの間にデータビューが配置されていない場合、期待どおりにレンダリングされます。
そして、dataviewがパンされたとき、それはこのように見えます-