我有一个自定义的View对象,它是从Extjs中的数据存储区呈现的:
Ext.define('MemOS.view.Shortcut', {
extend: 'Ext.view.View',
alias: 'widget.shortcut',
name: 'shortcut',
singleSelect: true,
store: 'Apps',
tpl: [
'<tpl for=".">',
'<div id="iconGroup" class="icon-wrap">',
'<div id="icon" class="icon">',
'<img src="/images/icons/" />',
'</div>',
'<span> {appName} </span>',
'</div>',
'</tpl>'
],
itemSelector: 'div.icon',
plugins: [
Ext.create('Ext.ux.DataView.DragSelector', {}),
//Ext.create('Ext.ux.DataView.Draggable', {})
],
});
我还有一个控制器,当双击商店中的某个项目时会调用该事件:
Ext.define('MemOS.controller.Shortcut', {
extend: ('Ext.app.Controller'),
stores: ['Apps'],
views: ['Shortcut'],
ref: [{
ref: 'shortcut-one',
selection: '',
xtype: 'shortcut',
autoCreate: true
}],
init: function(){
this.control({
'shortcut': {
itemdblclick: function(d, i, n, e) {
console.log('Display Value From Data Store Here');
}
}
});
},
});
我想要做的是将单击的项目的数据存储区值传递给控制器,以便我可以在警告框中显示相应的值。我的目标是稍后使用它来根据用户点击打开特定的窗口/应用程序。
任何人都可以帮我吗?谢谢。
答案 0 :(得分:1)
同样,信息在文档中:
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.view.View-event-itemdblclick
传递的第二个参数是记录,因此您可以使用record.get()
访问记录中的任何值itemdblclick: function(view, record) {
console.log(record.get('nameOfField'));
}