我正在尝试新的 dataview 组件,并且正在使用这个 Sencha 示例:
http://www.sencha.com/blog/dive-into-dataview-with-sencha-touch-2-beta-2/
在 KittensListItem 中,我删除了图像,现在我想添加三个按钮:“Email”、“Facebook”和“Twitter”,而不是 Store 中的值。当用户单击每个按钮时,我想显示每个按钮各自的 Store 值。如何实现?
这是目前屏幕的样子:

Example.view.KittensListItem:
Ext.define('Example.view.KittensListItem', {
扩展:'Ext.dataview.component.DataItem',
xtype:'contactslistitem',
需要:['Ext.Button','Ext.slider.Slider'],
配置:{
数据映射:{
getName: { setHtml: 'name' },
getSlider: { setValue: 'cuteness' },
getEmail: { setHtml: 'email' },
getTwitter: { setHtml: 'twitter' },
getFacebook: { setHtml: 'facebook' }
},
名称:{弹性:1},
滑块:{弹性:1},
电子邮件: {
文本:'电子邮件',
style: '字体大小:12px;',
弹性:1
},
Facebook: {
文字:'Facebook1',
style: '字体大小:12px;',
弹性:1
},
推特: {
文字:“推特”,
style: '字体大小:12px;',
弹性:1
},
布局: {
类型:'hbox',
居中对齐'
}
},
applyName: function(config) { return Ext.factory(config, Ext.Component, this.getName()); },
更新名称:函数(新名称,旧名称){
if (newName) { this.add(newName); }
if (oldName) { this.remove(oldName); }
},
applySlider: function(config) { return Ext.factory(config, Ext.slider.Slider, this.getSlider()); },
更新滑块:功能(新滑块,旧滑块){
if (newSlider) { this.add(newSlider); }
if (oldSlider) { this.remove(oldSlider); }
},
applyEmail: function(config) { return Ext.factory(config, Ext.Button, this.getEmail()); },
更新电子邮件:函数(新电子邮件按钮,旧电子邮件按钮){
if (newEmailButton) { this.add(newEmailButton); }
if (oldEmailButton) { this.remove(oldEmailButton); }
},
applyTwitter: function(config) {return Ext.factory(config, Ext.Button, this.getTwitter()); },
更新推特:功能(新推特按钮,旧推特按钮){
if (newTwitterButton) { this.add(newTwitterButton); }
if (oldTwitterButton) { this.remove(oldTwitterButton); }
},
applyFacebook: function(config) { return Ext.factory(config, Ext.Button, this.getFacebook()); },
更新Facebook:函数(newFacebookButton,oldFacebookButton){
if (newFacebookButton) { this.add(newFacebookButton); }
if (oldFacebookButton) { this.remove(oldFacebookButton); }
}
});
模型:
Ext.define('Example.model.Kitten', {
扩展:'Ext.data.Model',
配置:{
字段:[
“姓名”,
“电子邮件”,
“推特”,
“Facebook”,
{名称:“可爱”,类型:“int”}
]
}
});
店铺:
Ext.define('Example.store.Kittens', {
扩展:'Ext.data.Store',
需要:['Example.model.Kitten'],
配置:{
模型:'Example.model.Kitten',
数据: [
{ 名称:'one',电子邮件:'email@addr',twitter:'@twitter',facebook:'Facebook ...',可爱度:70 },
{ 名称:'两个',电子邮件:'email@addr',twitter:'@twitter',facebook:'Facebook ...',可爱度:90 },
{名称:'三',电子邮件:'email@addr',twitter:'@twitter',facebook:'Facebook ...',可爱度:40 }
]
}
});