Как не показывать загрузку текста в Ext.form.ComboBox? - PullRequest
2 голосов
/ 21 апреля 2009

Я использую Ext.form.ComboBox очень похожим образом, как в этом примере: http://extjs.com/deploy/dev/examples/form/forum-search.html

Что меня раздражает, так это то, что во время вызова ajax он показывает загрузку текста, и я не вижу никаких результатов ранее.

Например, я ввожу 'test' -> он показывает результат -> я добавляю 'e' (строка поиска - 'teste') -> результат исчезает, и отображается загрузка текста, поэтому на секунду я не вижу никакого результата и думаю о, если это не то, что я ищу ...

Как я могу изменить это, чтобы просто ничего не говорить при загрузке ...

Ответы [ 3 ]

1 голос
/ 25 апреля 2009

Решение состоит в том, чтобы переопределить метод onBeforeLoad для Ext.form.ComboBox:

  Ext.override(Ext.form.ComboBox, 
    { onBeforeLoad: 
        function() {this.selectedIndex = -1;}
    });    

Пожалуйста, имейте в виду, что это переопределяет метод класса, поэтому у всех экземпляров ComboBox не будет отображаться LoadingText. Если вы хотите переопределить только один экземпляр - пожалуйста, используйте плагины (очень похожим образом).

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

0 голосов
/ 20 декабря 2011

Вы можете отслеживать событие раскрытия выпадающего списка и установить загрузку сборщика на false.

    // in the controller
    init: function() {
      this.control({
        "form combobox[id=fieldId]": {
          expand: function(combobox) {
            combobox.getPicker().setLoading(false);
          }
        }
      });
    }
0 голосов
/ 21 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...