Как сделать пользовательский фильтр со специальным символом?

Я использую таблицу начальной начальной загрузки и имею столбец с именем Дата заказа. Я хотел бы иметь фильтр, в котором пользователь может ввести дату (например: 03/2019), чтобы получить все продукты, заказанные в марте 2019 года. Таким образом, определение моего столбца выглядит следующим образом:

 dataField: 'orderDate',
 text: 'Order Date',
 sort: true,
 headerStyle: {fontSize: '12px', whiteSpace:'nowrap'},
 filter: textFilter({placeholder:'mm/yyyy'})

Он отлично работает до "/". Я могу выполнить поиск 03 и вернуть все товары, заказанные в марте, но как только я ввел косую черту, результатов не было. Если я ищу 032019, он тоже ничего не возвращает.

Я попробовал dateFilter, но я не хочу, чтобы пользователям приходилось прокручивать календарь. Им нравится простота, похожая на textFilter.

Есть ли способ заставить косую черту работать?


person Shinta    schedule 19.09.2019    source источник


Ответы (1)


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

    const pattern = new RegExp('11/2012', 'gi');

    const dates = ['02/2010', '10/2011', '11/2012'];
    
    console.log(dates.filter(date => pattern.test(date)));

person Raphael Lima    schedule 20.09.2019