我正在尝试使用工具栏中的组合框构建网格,在网格中我将有一些关于员工的信息,并且组合将允许我选择我想加载这些信息的员工.
我很容易创建网格,但是工具栏中的组合框有问题:每次输入内容时它都会触发更改事件.
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
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的演示:http://jsfiddle.net/Misiu/LTVXF/
将光标放在该组合内并开始输入.每次按键后该事件被触发(见控制台)
我想在用户从该复选框中选择有效元素(我正在使用forceSelection)后触发该事件(或其他,无关紧要).
我可以添加,editable: false,但我想在输入有效值的一部分后进行局部过滤.
Jef*_*ver 11
之所以发生这种情况,是因为每次敲击键时它实际上都在改变值.你想要使用的是select听众.使用此功能,您可以从所选记录中获取值.
listeners: {
select: function(combo, records, eOpts) {
console.log(records[0].get('name'));
console.log(records[0].get('abbr'));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22907 次 |
| 最近记录: |