Как предотвратить применение фильтра текстовых столбцов, если введенные данные не соответствуют требованиям? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть требование разрешить фильтрацию только тогда, когда текст фильтра больше трех символов. Можно ли где-нибудь разместить логику проверки?

Посмотрел документ пользовательского фильтра ag-grid, но не знаю, какой способ лучше всего выполнить при минимальном кодировании. Посмотрел onFloatingFilterChanged в IFloatingFilterParams, onFloatingFilterChanged в пользовательском плавающем фильтре и isFilterActive в IFilterComp, но вся документация нечеткая, и для этой цели нет конкретного примера.

Кто-нибудь пытался реализовать это? Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 24 мая 2019

Решено с помощью пользовательского компонента плавающего фильтра с реализацией onFloatingFilterChanged по примеру

constructor(props) {
  super(props);

  this.state = {
    minChars: props.minChars ? props.minChars : DEFAULT_MIN_CHARS,
  };

  this.onFloatingFilterChanged = change => {
    const { minChars } = this.state;
    if(change && change.model && (!change.model.filter || change.model.filter.length >= minChars)) {
      return props.onFloatingFilterChanged(change);
    }
    return false;
  };
}
...