如何在Sencha Touch中向一个数据视图元素onItemTap事件添加一个CSS类?

时间:2014-07-29 16:09:18

标签: extjs sencha-touch dataview

我通过使用for循环从JSON存储中的数组加载数据来创建数据视图列表。因此,CSS应用于整个数据视图而不是单个元素。

{
        xtype: 'dataview',
        store: 'AnswerStore',
        flex:8,
        height: 600,
        width: '100%',
        style: 'background-color:gray; padding: 10px;',
        itemTpl: [
        '<tpl for=".">',
            '<tpl for="questionAnswers">',
                '<div>{answer}</div>',
            '</tpl>',
            '</tpl>'
        ],
        onItemTap: function (container, target, index, e) {
            var me = this;
            this.setStyle('color:red');
        }

2 个答案:

答案 0 :(得分:0)

要获得此输出,请创建css类并将其作为pressedCls配置列出。 如果要覆盖所选样式,请将其列为selectedCls配置列表。

答案 1 :(得分:0)

在你的onItemTap中,新样式应该应用于target对象(这是被点击的项目)。另外 - 且非常重要 - onItemTap的参数需要重新排序为function(container, index, target, e)

以下是整个onItemTap函数:

onItemTap: function(container, index, target) {
    target.setStyle({color: 'red'});
}  

如果你想看到它的实际应用,我有一个工作小提琴:https://fiddle.sencha.com/#fiddle/8g1