sencha touch 2.0:如何将条件背景颜色应用于列表项

时间:2012-04-08 08:31:24

标签: css-selectors sencha-touch-2

我想在列表的itemTpl中有条件地应用背景颜色样式。 假设我的itemTpl看起来像:

itemTpl: '<tpl if="condition"> <div class="highlight"> ... </div> </tpl> '

问题在于,当我这样做时,“突出显示”样式不适用于整个列表项。

如果我检查DOM,我看到我的itemTpl的内容在另一个div中,类“x-list-item”包含另一个div,类为“x-list-item-label”。因此,将背景样式应用于我的itemTpl并不会填满整个区域...

有谁知道如何影响整个区域(因此“x-list-item”或“x-list-item-label”)?

是否有css / sass技巧影响我的div的父级? 有没有sencha技巧?

感谢

1 个答案:

答案 0 :(得分:4)

很抱歉我被误解了。然后以下将工作。我很有信心。

假设你为你的元素(不是组件,我知道)设置了一个id,例如:

<span id="something-here">{whatever you want to show}</span>

然后:

  • Ext.get('something-here')返回您的元素
  • Ext.get('something-here').up('div.x-list-item')返回该节点的最近父节点,该节点的标记为div,类别为x-list-item

我已经通过show()hide()对此进行了测试,该元素可以很好地进行互动。

要将CSS类添加到元素,只需使用addCls('special-css-class')

即可