Отображение окна сообщения в Extjs при загрузке страницы

Я изучаю extjs, как наше приложение использует его. Прямо сейчас я смог построить что-то вроде:

blur: function(field, lastValues) {
  var vField = field.getValue(),
    vFormPanel = field.formPanel;

  if (Ext.isEmpty(vField)) {
    MsgBox.show({
        msgs: [{
          type: 'info',
          msg: Lang.getCustomFrameworkMessage('Do you want to search google?')
        }],
        buttons: MsgBox.YESNO,
        fn: function(buttonId) {
          if (buttonId === "yes") {
            var redirect = 'https://google.com'
            window.location.href = redirect;

          }
        }
      }
    }
  }
}

В приведенном выше коде, когда поле вкладывается и выходит и является пустым, оно показывает окно сообщения. Вместо этого я хочу, чтобы при загрузке страницы было отображено окно сообщения. Как это можно сделать??

1 ответ

Решение

Вы уже использовали blur событие, чтобы сделать свое дело. Вы можете использовать событие afterrender для отображения вашего сообщения.

Это будет зависеть от того, что у вас есть в вашем приложении / пользовательском интерфейсе, но общая идея заключается в том, чтобы просто посмотреть документацию по событию, которое вы хотите связать, и затем добавить туда свой обработчик.

Вот пример приложения:

Ext.application({
  name: 'Fiddle',
  launch: function() {
    Ext.create('Ext.panel.Panel', {
      title: 'Hello',
      width: 200,
      html: '<p>World!</p>',
      renderTo: Ext.getBody(),
      listeners: {
        afterrender: function() {
          Ext.Msg.alert('TEST')
        }
      }
    });
  }
});

Вот демо в Сенча Fiddle

Примечание: демонстрация и пример в Sencha ExtJS 5.1

Другие вопросы по тегам