我遇到Dataview
的问题。 Dataview
应该在它呈现的项目上有一个监听器。
所以这是Dataview
的样子:
var childrenData = Ext.create('Ext.DataView', {
store: {
fields: ['id', 'name', 'children'],
proxy: {
type: 'ajax',
url: '/category/view',
reader: {
type: 'json',
}
},
autoLoad: true,
},
itemTpl: childrenTemplate,
listeners: {
itemtap: function(data,index){
var record = data.getStore().getAt(index);
console.log(record);
}
}
});
有没有人,任何想法为什么这不起作用?
编辑:添加模板数据: var childrenTemplate = new Ext.XTemplate('', ', ', '{名称}', ', ', ', ' {价钱}', ', ', ', “” );
答案 0 :(得分:0)
请尝试以下代码; (对于sencha-touch-2)
var childrenData = Ext.create('Ext.DataView', {
store: {
fields: ['id', 'name', 'children'],
proxy: {
type: 'ajax',
url: '/category/view',
reader: {
type: 'json',
}
},
autoLoad: true,
},
itemTpl: childrenTemplate
});
添加侦听器;
childrenData.on({
tap: function(data,index){
var record = data.getStore().getAt(index);
console.log(record);
}
});
答案 1 :(得分:0)
我发现了问题所在。
数据视图位于TabPanel中的Container中。
经过一些试验和错误,我发现如果我将Container定义为配置对象 xtype:'容器' 有用。如果我创建容器 Ext.create('Ext.Container',{}); 它不知何故不起作用。 已经在Sencha论坛中询问是否有Bug或功能,我会及时通知您。