Фильтр сетки Kendo UI вызывается дважды - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть сетка кендо с включенной фильтрацией. При попытке повысить производительность я обнаружил, что фильтрация запускает бэкэнд 2 раза. Обнаружил, что это срабатывает, когда я press key в поле поиска столбца, а также когда я нажимаю Enter.

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

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

Вот так устанавливаются параметры фильтра для сетки.

filterable: {
    mode: "row",
    operators: {
        string: {
            contains: "Contains"
        }
    }
}

1 Ответ

1 голос
/ 22 апреля 2020

Да, это функция автозаполнения, отправка запроса на каждое нажатие клавиши. Каждое нажатие клавиши выбирает данные с сервера для заполнения выпадающего списка.

Вы можете избежать ti, добавив класс в шаблон фильтра:

filterable: {
    cell: {
       template: function(e){
           e.element.addClass("k-textbox");
       }
    }
}

ПРИМЕЧАНИЕ: фильтр будет запускаться при Enter и при focus-out событии.

Вы можете начать с этого примера: Нет автозаполнения

Или вы можете использовать minWidth перед отправкой поиска запрос на заполнение выпадающего списка:

 filterable: {
     cell: {
         minLength: 10
     }
 }

Минимальная длина

...