禁用sencha触摸列表中的一个项目

时间:2013-05-18 07:23:34

标签: sencha-touch-2

我有一个假设有5个项目的列表,我想禁用选项并在项目标签上仅为1个项目显示蓝色,并为其他项目启用。

是否可以这样做以及如何做到?

1 个答案:

答案 0 :(得分:0)

是的,您可以通过在点击列表中的项目时添加itemtap侦听器以编程方式执行此操作。例如,您有五个项目,并且您希望在选择时禁用要突出显示的第二个项目。列表的Index在这里发挥作用。

以下是代码:

 Ext.define('MyApp.view.MyList', {
        extend: 'Ext.dataview.List',

        config: {
            id: 'MyList',
            store: 'MyArrayStore',
            itemTpl: [
                '<div>{Value}</div>'
            ],
            listeners: [
                {
                    fn: 'onMyListItemTap',
                    event: 'itemtap'
                }
        ]
    },

    onMyListItemTap: function(dataview, index, target, record, e, eOpts) {
        if(index===1) // 1 is the 2nd item in the list
        {
            Ext.getCmp('MyList').getAt(index).setDisabled(true); //getting the list using id 'MyList', getting the item using index and then setting it as disabled.
        }

    }

});