2015-05-29 1 views
0

Я определил окно, как это:я не могу получить компонент из контроллера в ExtJS

Ext.define(), { 'MyApp.view.MyCustomWindow' 
    extends: 'Ext.window.Window', 
    alias: 'widget.mywindow', 
    ... 
    items: [{ 
     xtype: 'form', 
     items: [{ 
      xtype: 'fieldset', 
      ... 
      items: [{ 
       xtype: 'combobox', 
       ... 
       itemId: 'comboFilter' 
      }] 
     }] 
    }], 
    dockedItems: [{ 
     xtype: 'toolbar', 
     items:[{ 
      xtype: 'button', 
      itemId: 'okBtn' 
     }] 
    }] 
} 

Тогда я хотел бы получить компонент от моего контроллера:

init: function(application) { 
    var me = this; 
    this.control({ 
     "mywindow combobox#comboFilter": { 
      keypress: me.onClickCombo // removed <'>, still not working 
     }, 
     "mywindow button#okBtn": { 
      click: me.onButtonOk  // works!!! 
     } 
    }); 
} 

Но onClickCombo никогда не неоспоримым называется. Что не так с mywindow combobox#comboFilter?

EDIT: Добавлена ​​кнопка «ОК», которая работает !!! Посмотрите на мое редактирование кода выше.

ответ

1

Ваш селектор не является проблемой.

Добавить enableKeyEvents: true в ваше поле со списком, если вы хотите, чтобы событие keypress было уволено.

Смотрите документацию keypress события:

Это событие срабатывает только если enableKeyEvents устанавливается истина.

-1

Попробуйте это.

"mywindow combobox#comboFilter": { 
    keypress: me.onClickCombo // without <'> 
    } 

Если это не решение, изменение:

"mywindow combobox[itemId=comboFilter]":{ 
    keypress: me.onClickCombo // without <'> 
} 

UPDATE:

Добавить этот конфиг к компоненту.

Сенча апи - Combobox Events

Keypress input field event. This event only fires if enableKeyEvents is set to true. 
+0

Спасибо за ответ, но он все еще не работает. Я добавил кнопку ОК (посмотрите на мое редактирование выше), и функция кнопки ОК вызывается из контроллера, но не функция combobox. Я также попробовал 'mywindow combobox [itemId = comboFilter]', также без успеха. –

+0

обновлен. @CD .. положил его 3 мин назад :) – mfruizs2

Смежные вопросы