我已閱讀tutorial關於爲Store中的每個元素創建具有自定義組件的DataView
。它說關於在DataItem
中將記錄映射到組件的字段,但是我的問題是如何定義將組件添加到DataItem
的順序。如何定義將組件添加到DataItem的順序
例如,我有這樣的DataItem:
Ext.define('demo.view.CottageItem', {
extend: 'Ext.dataview.component.DataItem',
requires: ['Ext.Label', 'Ext.Array', 'Ext.Img'],
xtype: 'listitem',
config: {
layout: {
type: 'hbox',
align: 'center',
pack: 'start',
},
title: {
flex: 1
},
photo: {
width: '140px',
height: '140px'
},
dataMap: {
getTitle: {
setHtml: 'title'
},
getPhoto: {
setSrc: 'photo'
}
},
styleHtmlContent: true
},
applyTitle: function(config) {
return Ext.factory(config, Ext.Label, this.getTitle());
},
updateTitle: function(newTitle, oldTitle) {
if (oldTitle) {
this.remove(oldTitle);
}
if (newTitle) {
this.add(newTitle);
}
},
applyPhoto: function(config) {
return Ext.factory(config, Ext.Img, this.getPhoto());
},
updatePhoto: function(newImage, oldImage) {
if (oldImage) {
this.remove(oldImage);
}
if (newImage) {
this.add(newImage);
}
},
});
它具有佈局類型hbox
,所以想要加入第一和然後標題照片。所以那個標題就在照片的右邊。我怎樣才能做到這一點?
另一個問題是,有沒有辦法在此DataItem
裏面添加另一個容器,其中可以插入我的標籤和圖像?
UPDATE: 現在我的佈局是這樣的:
|標籤(標題)| |圖片(組圖)|
我希望它看起來像這樣:
|圖片(照片)| |標籤(標題)|
很好的使用update *方法。謝謝! – btk