首页 > 解决方案 > Ext JS 6 - DataView - ItemClick 未附加

问题描述

我一直无法在itemclick我认为是一个非常简单的例子中添加一个监听器。使用重复的 HTML 正确显示视图。谁能帮忙解决我哪里出错了?

Ext.define('App.view.Stuff', {
    extend: 'Ext.DataView',
    alias: 'view.stuff',
    store: [{
        "title": "Dataset 1",
        "desc": "Lorem ipsum dolor sit amet."
    }, {
        "title": "Dataset 2",
        "desc": "Lorem ipsum dolor sit amet."
    }],
    listeners: {
        itemclick: function () {
            console.log('itemclick');
        },
    },
    itemTpl:
      '<div><strong>{title}</strong></div>' +
      '<div>{desc}</div>'
});

标签: extjs

解决方案


从 v6.5.0 开始,该事件被称为childsingletap.

childsingletap ( this, location, eOpts )
     当一个孩子被点击时触发。

Available since: 6.5.0

参数

thisExt.dataview.DataView
     这个数据视图。

locationExt.dataview.Location
     事件的位置。

eOptsObject
     传递给 Ext.util.Observable.addListener 的选项对象。

这是工作代码:

Ext.define('App.view.Stuff', {
    extend: 'Ext.DataView',
    alias: 'view.stuff',
    store: [{
        "title": "Dataset 1",
        "desc": "Lorem ipsum dolor sit amet."
    }, {
        "title": "Dataset 2",
        "desc": "Lorem ipsum dolor sit amet."
    }],
    listeners: {
        childsingletap: function () {
            console.log('childsingletap');
        },
    },
    itemTpl:
      '<div><strong>{title}</strong></div>' +
      '<div>{desc}</div>'
});


推荐阅读