使用绑定时Extjs5项选择器不工作



我有一个从绑定获取数据的数据视图

xtype:'dataview',
width:'100%',
loadMask: true,
bind:
{
    data:'{items}'     <--- this is a problem
},                              
tpl:Ext.create('Ext.XTemplate',
            '<tpl for=".">',                    
                '   <div class="icon-square">', 
                '       <img src="../images/{type}.png" />',
                '       <div class = "count-style">{count}</div>',
                '   </div>',                    
            '</tpl>'
),  
itemSelector: 'img',
//  itemSelector: 'div.icon-square', <-- this also does not work
    listeners:
               {                                
                    'itemclick':'onItemsSelect',                                                    
               }
}

dataview按预期工作并显示数据,但itemselector没有触发itemclick事件侦听器。

但是,如果我用一个实际的存储替换绑定,那么一切都会按预期进行。

有人知道为什么只有当我使用绑定时它才不起作用吗?

对于寻找解决方案的人来说,下面的代码更改对我有效。

我创建了一个视图模型来绑定数据,而不是直接绑定它

viewModel:
{
    stores:
    {
        itemStore:
        {
            model:'RA.model.Item',              
            data:'{items}'
        }
    }
},
...
...
{
    xtype:'dataview',
    width:'100%',
    loadMask: true,                            
    bind:
    {
        store:'{itemStore}'
    },                              
    tpl:Ext.create('Ext.XTemplate',
                '<tpl for=".">',                    
                    '   <div class="icon-square">', 
                    '       <img src="../images/{type}.png" />',
                    '       <div class = "count-style">{count}</div>',
                    '   </div>',                    
                '</tpl>'
    ),  
    itemSelector: 'img',
    listeners:
               {                                
                    'itemclick':'onItemsSelect',                                                    
               }
 }

相关内容

  • 没有找到相关文章

最新更新