Прокрутите вниз при загрузке списка с помощью компонента Blazor Virtualize.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Прокрутите вниз при загрузке списка с помощью компонента Blazor Virtualize.

Сообщение Anonymous »

При загрузке страницы Blazor я пытаюсь перейти в конец списка Virtualize, чтобы отобразить последнюю информацию (сообщения, такие как приложение чата).
Поэтому я иметь следующий код Blazor:

Код: Выделить всё


@message.Content



function scrollToBottom() {
var objDiv = document.getElementById("messages-container");
objDiv.scrollTop = objDiv.scrollHeight;
}


Manual scroll
Как я могу вызвать функцию JS ScrollToBottom() после того, как Virtualize отобразил исходный DOM первой страницы сообщений?
Если я выполню JS-функцию ScrollToBottom() в методе OnAfterRenderAsync() страницы, прокрутка не будет работать должным образом, потому что:
  • ItemsProvider не вызывается перед методом OnAfterRenderAsync(). Таким образом, никакие данные не извлекаются.
  • Поскольку данные не извлекаются, DOM не отображается, а контейнер сообщений пуст и имеет значение ScrollHeight, определенное как 500. .

Код: Выделить всё

protected override async Task OnAfterRenderAsync(bool firstRender)
{
await JSRuntime.InvokeVoidAsync("scrollToBottom");
}
Однако после того, как первая страница отображается компонентом Virtualize, если я нажимаю кнопку «Прокрутка вручную», компонент Virtualize прокручивается до последняя страница данных (значение ScrollHeight в данном случае определяется, например, как 9845).
Как я могу вызвать метод ScrollToBottom() JS-функция после визуализации первой страницы компонента Virtualize?
Или есть другой способ перейти к нижней части компонента Virtualize (последняя страница)?

Подробнее здесь: https://stackoverflow.com/questions/776 ... -component
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»