我有一个组合框。这听取'选择'事件。 我在select事件回调中触发了一个自定义事件。 当事件发生变化时,此事件将被解雇两次。Extjs自定义事件触发两次。在select事件回调中触发的事件
我有一个类似的组合框连接到相同的控制器,但只有一个事件被触发。
我正在使用ExtJs 5.
这是我的代码。
{
xtype: 'combobox',
width: 150,
textAlign: 'left',
store: {
fields: ['text', 'value'],
data: [
{"text": "a", "value": "a"},
{"text": "b", "value": "b"},
]
},
allowBlank: false,
editable: false,
displayField: 'text',
valueField: 'value',
listeners: {
select: function (combo, records) {
console.log('comboooo ---------------- ', records[0].data.value);
this.fireEvent('custom-event', 'key', records[0].data.value);
},
afterrender: function (cmp) {
cmp.setSelection(1);
}
}
}
编辑: 下面是它在我的应用程序去。
我有一个MainViewcontroller,MainView和SubView。 SubView是MainView中的一个组件。
我有两个组件在SubView和MainView中。 我添加了MainView后添加了子视图。
我从MainView组件的'change'事件触发自定义事件。 MainController能够识别这个。如预期的那样,该事件仅发生一次。
现在,当我火从子视图的一个组成部分的“变”事件相同的自定义事件这一事件被炒鱿鱼两次
如果您使用的是分机5,为什么用4.1和4.2标记您的问题?从谷歌响应 – 2014-11-01 11:29:13
我观察到有没有很多ExtJS 5的结果。 所以我认为标记4.1和4.2以及5会给我更快的反应 – phani 2014-11-01 11:30:45
[我创建了一个小提琴](https://fiddle.sencha.com/#fiddle/cm9)并且无法复制这个问题。自定义事件仅触发一次。你能提供更多的上下文/代码还是更好,创建一个演示问题的小提琴? – weeksdev 2014-11-01 13:27:21