我有一个假设有5个项目的列表,我想禁用选项并在项目标签上仅为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.
}
}
});