我有一个假设有 5 个项目的列表,我想禁用选择并在项目选项卡上仅显示 1 个项目并为其他项目启用。
是否有可能做到这一点以及如何做到这一点?
是的,您可以通过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.
}
}
});