Как отфильтровать таблицу antd без использования filterDropdown? - PullRequest
1 голос
/ 11 октября 2019

Я пытался разобраться с фильтрацией таблицы antd весь день. Мой дизайн должен иметь видимый фильтр в заголовке:

введите описание изображения здесь

Я не хочу всплывающее окно, как во всех примерах. Вопрос в том, можно ли просто установить свойства фильтра?

Я взял стандартный пример и сделал фильтруемый только адрес

https://codepen.io/jabberwo/pen/OJJyzLg?editors=0011

Но когда я удаляю filterDropdown (где находится документация о входных аргументах функции?!) и вместо этого установите filterValue в текст в состоянии, обновленном onChange ввода, как в

https://codepen.io/jabberwo/pen/XWWmVKL?editors=0011

Я получаю действительно странную ошибку в строке 975 antd / es /table / Table.js

Uncaught TypeError: values.some is not a function
    at VM1051 vendors~main.3a264a9707764ceadc39.bundle.js:53640
    at Array.filter (<anonymous>)

Это выброшено, потому что я установил FilterValue и OnFilter. Если я не установлю один из них, я не получу ошибку - но я также не получу никакой фильтрации. Из документа это похоже на то, что я должен делать. Даже простой

onFilter: () => true 

сгенерирует, так что это не код фильтрации, а таинственные значения.some, которые должны быть определены.

спасибо, Jab

1 Ответ

0 голосов
/ 11 октября 2019

OMG 3-4 часа впустую, не понимая, что FilterValue должно быть массивом строк!

filteredValue: [this.state.alertFilter.toLowerCase()],
onFilter: (value, record) =>
           record.alertName
              .toString()
              .toLowerCase()
              .includes(this.state.alertFilter.toLowerCase()),

Да, в документе сказано, что он просто не щелкнул, не увидел его или что-то в этом роде.

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

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