禁用Ext.form.ComboBox中的某些项

时间:2015-10-07 18:04:24

标签: javascript extjs combobox

我有一个ExtJS 4 Web应用程序,其中我有一个Ext.form.ComboBox,我需要禁用某些项目才能被选中。

是的,我知道我可以在组合框的商店中过滤掉这些商品 - 但在这种情况下,我确实希望用户看到这些不可选择的商品 - 我只是不希望他们这样做能够选择它们。

有什么建议吗?

提前致谢

1 个答案:

答案 0 :(得分:4)

您可以使用beforeselect事件取消选择,并使用itemTpl以禁用禁用的项目,例如:

listConfig: {
    itemTpl: '<div {[values.disabled ? \'class="disabled"\' : \'\']}>{value}</div>'
},
listeners: {
    beforeselect: function(cmp, record){
        return !record.get('disabled');
    }
}

工作示例:https://fiddle.sencha.com/#fiddle/v4t