0

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

是否有可能做到这一点以及如何做到这一点?

4

1 回答 1

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.
        }

    }

});
于 2013-05-18T16:24:41.947 回答