从列表Sencha Touch 2获取列表项目

时间:2014-03-20 14:35:29

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

我试图从列表中获取单个列表项,以便为每个列表项分配特定的itemCls。我不希望他们都拥有相同的项目类。

我试图仅为某些列表项添加样式。我尝试使用xTemplate路线,但我不知道如何从记录中获取字段以便执行列表语句。现在就是我的xTemplate:

有关如何从模板中的记录中获取字段或如何分配itemCls以仅列出我选择的项目的任何想法?

meterListObj.setItemTpl(
    "<tpl for=\".\">"+
    "<tpl if=\"!this.hasCurrMonthReading\">"+
        "<span class=\"upperLeft\">{meterNumber}</span><span class=\"upperRight\">{campus}</span>"+
        "<span class=\"upperMiddle\">No Readings for "+
            (settings.data.userDate.getUTCMonth()+1)+"/"+settings.data.userDate.getUTCFullYear()+" </span>"+
        "<span class=\"lowerLeft\">{utilityType}</span><span class=\"lowerRight\">{undefined}</span>"+
    "</tpl>"+
    "<tpl if=\"this.hasCurrMonthReading\">"+
        "<span class=\"upperLeft\">{meterNumber}</span><span class=\"upperRight\">{campus}</span>"+
        "<span class=\"lowerLeft\">{utilityType}</span><span class=\"lowerRight\">{undefined}</span>"+
    "</tpl>"+
    "</tpl>");

1 个答案:

答案 0 :(得分:2)

您可以使用getViewItems方法,就像这样

var items = this.getViewItems();
items.forEach(function(item){
            var itemElement = Ext.get(item.id);

            itemElement.addCls('selectGroup');              
});

或者您可以使用css选择器 nth-child

希望这有帮助。