Vuetify - строгий настраиваемый фильтр данных - PullRequest
0 голосов
/ 27 сентября 2018

Итак, у меня есть таблица данных, в которой имена объектов похожи и чувствительны к регистру, например, «A», «Aa» или «a», и у меня возникают проблемы при попытке отфильтровать данные по этим точным значениям.Я фильтрую свои данные с помощью v-select, привязанного к свойству search таблицы данных.При создании пользовательского фильтра я обнаружил только две опции: отфильтровать определенный столбец по поисковому запросу:

customFilter(items, search, filter) {
    search = search.toString().toLowerCase();
    return items.filter(row => filter(row["name"], search));
}

или отфильтровать Object.keys:

customFilter(items, search, filter) {
    search = search.toString().toLowerCase();
    return items.filter(i => (
        Object.keys(i).some(j => filter(i[j], search))
    ))
}

С тем, как работает пользовательский фильтр, я не могу использовать параметр поиска без его перевода в нижний регистр, так как удаление .toLowerCase () полностью разбивает его и использует другой метод для Objects.key, например .find (), а неРезультаты .some () по-прежнему фильтруют элементы «Aa» при выборе «A» или «a».

Есть ли способ использовать пользовательский фильтр для фильтрации своих элементов как с учетом регистра, так и поСтрока точно?

Спасибо!

1 Ответ

0 голосов
/ 27 сентября 2018

Оказалось, что использование поиска и пользовательского фильтра таблицы данных было неправильным решением, поскольку они слишком ограничены.Я просто связал datatable с отдельным массивом, который фильтрую сам при выборе опции в v-select.

...