#javascript #angular #angular7
#javascript #angular #angular7
Вопрос:
я хочу загрузить данные при прокрутке. применяется прокрутка ng-карты.
<nb-card>
<nb-card-body class="patientInfoStyle">
<ng2-smart-table [settings]="settings" [source]="source" (deleteConfirm)="onDeleteConfirm($event)">
</ng2-smart-table>
</nb-card-body>
</nb-card>
Заранее спасибо.
Ответ №1:
Вы можете сделать это легко с помощью ngx-бесконечной прокрутки.
Существует также интересное решение, когда дело доходит до отложенной загрузки изображений. Следуйте этому
Комментарии:
1. предоставленная ссылка для решения не работает
2. Спасибо. Я обновил ссылку: medium.com/angular-in-depth /…
Ответ №2:
Это не совсем тот ответ, который вы искали, но вы можете сделать следующее:
- откройте учетную запись github
- перейдите в git ng2-smart-table и перейдите в свой репозиторий
- оформить заказ библиотеки по предоставленной ссылке с помощью git clone
- добавьте бесконечную прокрутку, используя любую библиотеку по вашему выбору (ngx-infinite scroll, angular material и т.д.)
- вы можете следовать этому руководству, чтобы упаковать свою библиотеку на github и использовать ее из package json в вашем проекте.
В моем случае я использовал угловой материал cdk. Чтобы использовать его с таблицей в библиотеке, выполните следующее:
- оберните внешний элемент таблицы с помощью cdk
- в компоненте tbody замените *ngFor в элементе ‘tr’ на *cdkVirtualFor
Код, написанный автором, имеет хорошие практики и легко читается. сделать это самостоятельно не так уж сложно. Также, выполнив описанное выше, вы можете повторить этот метод с любыми библиотеками с открытым исходным кодом
Ответ №3:
Я последовал совету @olNoy и создал альфа-версию ng2-smart-table с прокруткой тела с использованием прокрутки angular-cdk.
Вы могли бы найти это по адресу https://github.com/andreatoppan/ng2-smart-table это довольно грубо, но я хотел поделиться, если кому-то интересно, как это работает в моем случае.
Я обработал head и body как две разные таблицы, разместив cdk-virtual-scroll-viewport вне tbody. Таким образом, заголовок останется на месте, а тело может прокручиваться. Недостатком этого подхода является то, что столбец head и body будут разными, вот почему я поместил другой заголовок во вторую таблицу и создал несколько неоптимизированных функций для настройки размера столбцов в компоненте. Если вы сочтете это полезным, вы можете расширить или исправить по своему желанию.