Виртуальный свиток для Angular 2

Всем привет!

Мне нужно создать таблицу с таким количеством записей, используя угловой js 2. Для этого я пробую виртуальную прокрутку. Тем не менее, я не могу найти документацию или образцы в рабочем состоянии.

Пожалуйста, помогите мне начать работу с угловым 2 виртуальным свитком.

2 ответа

Вы можете попробовать ngx-ui-scroll. Это обеспечивает *uiScroll структурная директива, которая может быть непосредственно использована в шаблоне вашего компонента приложения. В настоящее время (v0.0.4) не поддерживает макет таблицы, но если вы можете использовать div-макет, он может выглядеть так

<div class="viewport">
  <div *uiScroll="let item of datasource" class="row">
    <div class="col1">{{item.data1}}</div>
    <div class="col2">{{item.data2}}</div>
    <div class="col3">{{item.data3}}</div>
  </div>
</div>

Тогда вам нужно реализовать Datasource Объект в соответствии с документацией или примерами кода с демонстрационной страницы.

Я настоятельно рекомендую https://github.com/rintoj/ngx-virtual-scroller

Он очень надежен, без проблем обрабатывает десятки тысяч сложных элементов. Я использую его в своем приложении Video Hub с открытым исходным кодом, чтобы показать галерею изображений и видео (настраиваемые элементы), позволяющую пользователю изменять количество столбцов. Смотрите код на GitHub.

Вы должны взглянуть на Angular Material VirtualRepeat https://material.angularjs.org/latest/demo/virtualRepeat

Директива md-virtual-repeat предоставляет атрибут md-on-demand, который позволяет избежать использования массива в качестве поставщика источника данных.

[Edit] Angular Material VirtualRepeat пока недоступен для angular2, я сделал несколько изменений в rintoj/angular2-virtual-scroll, чтобы получить данные из бэкэнда, а не из массива. это на github здесь https://github.com/pnocera/ng2-vscroll

Другие вопросы по тегам