Я создаю веб-приложение, где у меня есть 2 комбинированных блока, которые используют один и тот же магазин.ExtJS 5 - Программная настройка выбранной записи после рендеринга?
Пользователь сначала устанавливает поле со списком 1, затем поле со списком 2 находится в плавающей панели, которая отображается, когда пользователь нажимает на определенную кнопку. Я хочу, чтобы, когда появляется поле со списком 2, предварительно выбранная запись будет той, которая была выбрана в поле со списком 1.
До сих пор я использую привязку события afterrender для поля со списком 2, но ничего не кажется, работает:
Вот тело моей функции afterrender:
console.log('after render combobox hit!');
var comboBox1 = Ext.getCmp('comboBox1');
var store = component.getStore();
var record = comboBox1.findRecordByValue(comboBox1.getValue());
var rowIndex = store.indexOf(record);
var selectedRecord = comboBox1.getStore().getAt(rowIndex);
console.log('combobox selection index = ' + rowIndex);
console.log('selected record = ' + selectedRecord.get('device_name'));
component.select(selectedRecord);
то, что я делаю, я получаю запись и индекс, выбранный в Combo Box 1, а затем попытаться установить, что, как значение в Combo Box 2. Команда select
не работает. Я также пробовал следующее:
component.select(record, true);
component.setValue(record.get('device_name'));
component.setRawValue(record.get('device_name'));
, но ни один из них не работал.
Я пытался сделать эту работу часами и ничего не работаю, и она начинает расстраивать.
Кто-нибудь еще пытался программным образом установить выбор по умолчанию для combobox? Любое руководство будет оценено по достоинству. Благодарю.