如何更改Ext.dataview.List中的项目?

时间:2019-07-13 13:23:02

标签: extjs sencha-touch sencha-touch-2

我有一个这样的列表:

Ext.define('ddp.components.listview.ListView', {
    extend: 'Ext.dataview.List',
    listeners: {
        childtap: function(view, location, eOpts) {
            // TODO
        }
    },
    itemTpl: new Ext.Xtemplate(`
        <div>{item}</div>
    `),
});

现在,我希望如果单击某个项目(由itemTpl中Ext.dataview.List呈现的div)选择一个项目,则所选图标将显示在所选项目的开头。但是,我似乎找不到找到访问该项目的方法。有想法吗?

1 个答案:

答案 0 :(得分:0)

您可以向商店的模型中添加一个选定的字段,然后根据该字段在tpl中显示该图标。

<tpl if="selected">',
    '<div>{icon}</div>',
    '<div>{item}</div>',
'</tpl>',
'<tpl else>',
    '<div>{item}</div>',
'</tpl>',

我将更改监听器以选择,以便您在用户选择记录时更新记录。

    listeners: {
        select: function(list, selected, eOpts) {
            selected.set('selected',true);
        }
    },