我有一个ExtJS 4 Web应用程序,其中我有一个Ext.form.ComboBox,我需要禁用某些项目才能被选中。
是的,我知道我可以在组合框的商店中过滤掉这些商品 - 但在这种情况下,我确实希望用户看到这些不可选择的商品 - 我只是不希望他们这样做能够选择它们。
有什么建议吗?
提前致谢
答案 0 :(得分:4)
您可以使用beforeselect
事件取消选择,并使用itemTpl
以禁用禁用的项目,例如:
listConfig: {
itemTpl: '<div {[values.disabled ? \'class="disabled"\' : \'\']}>{value}</div>'
},
listeners: {
beforeselect: function(cmp, record){
return !record.get('disabled');
}
}