powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / multiple filter
10 сообщений из 10, страница 1 из 1
multiple filter
    #38973890
Manonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть страница, на ней таблица, с сервера приходят ~11к записей(nested tree), в таблице они изначально не рендерятся. Над каждым столбцом таблицы есть фильтр(multiple select), соответственно можно фильтровать этот большущий массив. Мне бы хотелось узнать, есть ли какие-нибудь best practise как такое реализовывать.

Я использую для биндинга нокаут, первое в голову приходит биндить отфильтрованный массив, но здесь нужно как то думать над сохранением стэйтов узлов(данные отображаются в виде дерева), т.е. например выбрали фильтр 1, отфильтровались данные, забиндились, юзер по дереву потыкал и потом ему вздумалось еще фильтр добавить по какой-нибудь колонке и с таким подходом, исходные данные фильтруется опять и все рендериться заново, получается нужно как то мапить прошлые стэйты. Как вариант, можно сделать все дочерние узлы observableArray и "прикреплять" к дереву только не существующие сейчас узлы(после фильтра), в этом случае не нужно париться над стэйтами... но хороший ли это подход...

Может кто-нибудь сталкивался, как вообще лучше реализовывать подобные задачи, минус еще в том, что массив большой и при биндинге нокаут подвисает(если выбрано много фильтров)...
...
Рейтинг: 0 / 0
multiple filter
    #38973918
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Manonia,
я понимаю, что клиентские машины счас не то что раньше, но на серверах есть базы, предназначенные не только для занимания места на дисках. и сетети счас тоже не ранишнии. базы фильтрую, сортируют и прочее делают намного лучше, они под это заточены
на клиенте лучше заниматься только форматированием вывода.
...
Рейтинг: 0 / 0
multiple filter
    #38973921
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и для отобржения данных счас совершенно не надо обновлять всю страницу, достаточно только изменённые данные.
а отображать даже на начальном этапе клиенту 11к данных - это полная бессмыслица, никто не будет на них даже смотреть.
...
Рейтинг: 0 / 0
multiple filter
    #38974033
Manonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
11 к записей достаются один раз и кладутся в массив и дальше уже вся работа идет с этим массивом. Мне кажется это лучше, чем за каждым чихом бежать в базу... Т.е. Данные-это дерево, при рендеринга страницы юзеру выводится только первый уровень этого дерева, а это 10 записей. Дальше он отфильтровал например по первой колонке, второй и вместо того, чтобы лезть в базу, фильтруется исходный массив
...
Рейтинг: 0 / 0
multiple filter
    #38974044
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ManoniaМне кажется это лучше, чем за каждым чихом бежать в базу...
когда как)))
Гугл же лазит при вводе каждого символа в строку поиска).
...
Рейтинг: 0 / 0
multiple filter
    #38974053
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Manonia,
база это сделает быстрее , иправильнее для неё 11к мелочь. для клиента это объём. и не надо бояться обращаться к базе. она для того и существует. клиент будет только отображать одним алгоритмом приходящие (разные) данные это намного проще и быстрее.
...
Рейтинг: 0 / 0
multiple filter
    #38974138
Manonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя, спасибо, но мне подход с базой не нравится. Какие бенефиты от этого, мне не понятно. На js массив отфильтровать не проблема, даже древовидную структуру, делается это влёт даже с 11к записей, вся проблема в том, что когда нокаут биндит массив на темлейт, страница подвисает, а тут откуда мы их взяли - из базы или массива, какая разница.
...
Рейтинг: 0 / 0
multiple filter
    #38974150
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
multiple filter
    #38974153
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Manonia,

в смысле привет земеля :)
https://blog.safaribooksonline.com/2014/02/28/lazy-loading-knockout-js/
...
Рейтинг: 0 / 0
multiple filter
    #38975717
Manonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k2, спасибо :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / multiple filter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]