Extjs 4,如何防止Xtype:“组合”在单击的项目中崩溃?
-
24-10-2019 - |
题
我有 ComboBox
. 。当我从扩展列表中单击项目时, ComboBox
选择此项目并崩溃。如果我单击已经选择的项目,它也会崩溃。
有没有办法“停止” ComboBox
当用户选择已经选择的项目时崩溃?
PS:简而言之 ComboBox
表现得像 TimeField
从 http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html
更新
我不需要至少在IE7和IE8上工作的解决方案。
解决方案
如果您想要这种行为:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
其他提示
var cb = new Ext.form.ComboBox({
// here is your local store
mode: 'local',
store: new Ext.data.SimpleStore({
fields: ['id', 'label'],
data: [
['1', 'One'],
['2', 'Two']
]
}),
listeners: {
'beforeselect': function (combo, record, index) {
// prevent collapsing if the same value is selected
if (record.data.label == combo.getRawValue()) return false;
}
}
});
如果您要处理的是3.3,这似乎有效:
Ext.form.ComboBox.override({
onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) {
return this.getValue() !== record.data[this.valueField || this.displayField];
})
});
在Chrome和IE8上测试。它可以防止 onSelect
如果当前值与您要设置的值完全匹配,则调用函数。
不隶属于 StackOverflow