Sencha touch itemTpl,根据条件不显示行

时间:2014-05-21 14:07:14

标签: sencha-touch itemtemplate

如果值=' xxx'我想在itemTpl中不显示一行。

示例:

itemTpl: '{title}',
data: [
    { title: 'Item 1' },
    { title: 'Item 2' },
    { title: 'Item 3' },
    { title: 'Item 4' }
]

如果标题=='项目2'意思是我不应该显示该行。需要跳过它。

如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

在您的观点中,进行以下更改:

xtype: 'list',
id: 'myList',
//itemTpl: '{title}',
data: [
    { title: 'Item 1' },
    { title: 'Item 2' },
    { title: 'Item 3' },
    { title: 'Item 4' }
]

在视图的initialize()函数内写:

var myList = Ext.getCmp('myList');
myList.setItemTpl([
      '<tpl if="title!=\'Item 2\'">',
      '{title}',
      '<tpl else>',
      '',
      '</tpl>'
]);

我认为,这应该适合你。

答案 1 :(得分:0)

这取决于您用于显示数据的组件。

如果您正在使用列表(并且商店中存在数据),您可以使用filterBy来过滤列表,实际上不会显示您的行。

如果您正在使用其他组件输出原始HTML,则必须在XTemplate中为itemTpl使用条件逻辑。