我想在列表的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技巧?
感谢
答案 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')