Одностраничная таблица с обновлениями в реальном времени
От: Alexbnd Израиль  
Дата: 18.11.24 08:21
Оценка:
Такая вот задача: есть таблица на UI, данные отображаются в выбранном пользователем порядке. Если пользователь долистал до конца таблицы — подгружается следующая страница и отображается в эту же таблицу ниже.
Но данные в базе могут обновляться и тогда получаются дупликация строк на UI.
Есть идея, как это красиво решить? Так чтобы поменьше изменений и без merge данных на UI.
Я пока сделал, что при загрузке первой странцы сохраняется текущее время и для загрузки следующих страниц добавляется фильтр: время апдейта должно быть меньше этого самого времени загрузки первой страницы.

Ничего красивее в голову не приходит.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Одностраничная таблица с обновлениями в реальном времени
От: Qulac Россия  
Дата: 18.11.24 09:06
Оценка:
Здравствуйте, Alexbnd, Вы писали:

A>Такая вот задача: есть таблица на UI, данные отображаются в выбранном пользователем порядке. Если пользователь долистал до конца таблицы — подгружается следующая страница и отображается в эту же таблицу ниже.

A>Но данные в базе могут обновляться и тогда получаются дупликация строк на UI.
A>Есть идея, как это красиво решить? Так чтобы поменьше изменений и без merge данных на UI.
A>Я пока сделал, что при загрузке первой странцы сохраняется текущее время и для загрузки следующих страниц добавляется фильтр: время апдейта должно быть меньше этого самого времени загрузки первой страницы.

A>Ничего красивее в голову не приходит.


А почему пользователю не показывать только одну страницу? Смысл — пользователь видит некое окно данных,а всю страницу не видит, как только окно доходит до конца страницы — загружаем новую, если просмотр идет назад — то аналогично. Тут есть простор и для оптимизации.
Программа – это мысли спрессованные в код
Re[2]: Одностраничная таблица с обновлениями в реальном времени
От: Alexbnd Израиль  
Дата: 18.11.24 09:14
Оценка:
Q>А почему пользователю не показывать только одну страницу? Смысл — пользователь видит некое окно данных,а всю страницу не видит, как только окно доходит до конца страницы — загружаем новую, если просмотр идет назад — то аналогично. Тут есть простор и для оптимизации.

Так хочет продакт
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Одностраничная таблица с обновлениями в реальном времени
От: Doom100500 Израиль  
Дата: 19.11.24 07:16
Оценка: +1
Здравствуйте, Alexbnd, Вы писали:

A>Такая вот задача: есть таблица на UI, данные отображаются в выбранном пользователем порядке. Если пользователь долистал до конца таблицы — подгружается следующая страница и отображается в эту же таблицу ниже.

A>Но данные в базе могут обновляться и тогда получаются дупликация строк на UI.
A>Есть идея, как это красиво решить? Так чтобы поменьше изменений и без merge данных на UI.
A>Я пока сделал, что при загрузке первой странцы сохраняется текущее время и для загрузки следующих страниц добавляется фильтр: время апдейта должно быть меньше этого самого времени загрузки первой страницы.

A>Ничего красивее в голову не приходит.


Cursor-based Pagination
Спасибо за внимание
Re[2]: Одностраничная таблица с обновлениями в реальном времени
От: Doom100500 Израиль  
Дата: 19.11.24 07:18
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Здравствуйте, Alexbnd, Вы писали:


A>>Такая вот задача: есть таблица на UI, данные отображаются в выбранном пользователем порядке. Если пользователь долистал до конца таблицы — подгружается следующая страница и отображается в эту же таблицу ниже.

A>>Но данные в базе могут обновляться и тогда получаются дупликация строк на UI.
A>>Есть идея, как это красиво решить? Так чтобы поменьше изменений и без merge данных на UI.
A>>Я пока сделал, что при загрузке первой странцы сохраняется текущее время и для загрузки следующих страниц добавляется фильтр: время апдейта должно быть меньше этого самого времени загрузки первой страницы.

A>>Ничего красивее в голову не приходит.


D>Cursor-based Pagination


То есть -да — ты додумался до решения, которое в таких случаях и используется.
Спасибо за внимание
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.