Я использую ExtJS 4.0.7, я новичок в Ext и использую новую архитектуру MVC. У меня есть RadioGroup, которую я хочу использовать после изменения, чтобы раскрыть больше элементов пользовательского интерфейса. Проблема в том, что событие изменения запускается дважды для RadioGroup. Я предполагаю, что это потому, что оба радио запускают событие для изменения их значений.
Есть ли способ прослушать изменение радиогруппы или радио с тем же именем, которое сработает только один раз? В моем опыте работы с jQuery и Flex я ожидал, что RadioGroup будет запускаться только один раз.
Вот код RadioGroup на мой взгляд:
items: [{
xtype: 'radiogroup',
id: 'WheatChoice',
padding: '',
layout: {
padding: '-3 0 4 0',
type: 'hbox'
},
fieldLabel: 'Choose Model',
labelPad: 5,
labelWidth: 80,
allowBlank: false,
columns: 1,
flex: 1,
anchor: '60%',
items: [
{ xtype: 'radiofield', id: 'SpringWheat', padding: '2 10 0 0', fieldLabel: '',
boxLabel: 'Spring', name: 'wheat-selection', inputValue: '0', flex: 1 },
{ xtype: 'radiofield', id: 'WinterWheat', padding: '2 0 0 0', fieldLabel: '',
boxLabel: 'Winter', name: 'wheat-selection', inputValue: '1', checked: true, flex: 1 }
]
}]
Вот соответствующий код в моем контроллере:
init: function() {
this.control({
'#WheatChoice': {
change: this.onWheatChange
}
});
},
onWheatChange: function(field, newVal, oldVal) {
//this fires twice
console.log('wheat change');
}