Поэтому я иметь следующий код Blazor:
Код: Выделить всё
@message.Content
function scrollToBottom() {
var objDiv = document.getElementById("messages-container");
objDiv.scrollTop = objDiv.scrollHeight;
}
Manual scroll
Если я выполню JS-функцию ScrollToBottom() в методе OnAfterRenderAsync() страницы, прокрутка не будет работать должным образом, потому что:
- ItemsProvider не вызывается перед методом OnAfterRenderAsync(). Таким образом, никакие данные не извлекаются.
- Поскольку данные не извлекаются, DOM не отображается, а контейнер сообщений пуст и имеет значение ScrollHeight, определенное как 500. .
Код: Выделить всё
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await JSRuntime.InvokeVoidAsync("scrollToBottom");
}
Как я могу вызвать метод ScrollToBottom() JS-функция после визуализации первой страницы компонента Virtualize?
Или есть другой способ перейти к нижней части компонента Virtualize (последняя страница)?
Подробнее здесь: https://stackoverflow.com/questions/776 ... -component