gpt4 book ai didi

extjs - ComboBox 在每次按键时触发更改事件

转载 作者:行者123 更新时间:2023-12-04 17:10:25 25 4
gpt4 key购买 nike

我正在尝试使用工具栏中的组合框构建网格,在网格中我将有一些关于员工的信息,组合将允许我选择我想要加载这些信息的员工。
我已经很容易地创建了网格,但是我在工具栏中的组合框有问题:每次输入内容时它都会触发更改事件。

Ext.define('My.Grid.Combo', {
extend: 'Ext.form.ComboBox',
fieldLabel: 'Choose State',
store: states,
alias: 'widget.combostates',
queryMode: 'local',
displayField: 'name',
valueField: 'abbr',
forceSelection: true,
listeners: {
change: function (field, newValue, oldValue) {
console.log(newValue);
},
scope: this
}
});
这是我的演示: http://jsfiddle.net/Misiu/LTVXF/
将光标放在该组合内并开始输入。每次按键后都会触发该事件(请参阅控制台)
我想在用户从该复选框中选择有效元素后触发该事件(或其他无关紧要)(我正在使用 forceSelection)。
我可以添加 editable: false,但我想在输入部分有效值后进行本地过滤。

最佳答案

发生这种情况的原因是因为它实际上每次按下键时都会更改值。你要使用的是select听众。使用它,您可以从选定的记录中获取值。

listeners: {
select: function(combo, records, eOpts) {
console.log(records[0].get('name'));
console.log(records[0].get('abbr'));
}
}

关于extjs - ComboBox 在每次按键时触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18019159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com