Кажется, что на эту тему очень мало.
Как можно нажать кнопку или тег < a > и перейти в другую часть страницы?
Единственный способ, который я считал возможным, - это использовать простые теги привязки html, которые указывают на идентификатор элемента, к сожалению, это не работает.
Я бы хотел ванильные варианты MAUI Blazor, но если работает сторонний компонент, это тоже нормально.
Похоже, вы столкнулись с другой проблемой. В ответ на ваш вопрос. Это приложение для блейзора Мауи, так что бритва. Навигация в этом контексте означает перемещение из одной части страницы в другую часть страницы. То есть вместо прокрутки нажмите кнопку в верхней части страницы, чтобы перейти к разделу внизу страницы.
Я создал новый образец для тестирования и использовал функцию js для прокрутки до идентификатора элемента вместо прокрутки.
В index.html:
<script>
window.scrollToElementId = (elementId) => {
console.info('scrolling to element', elementId);
var element = document.getElementById(elementId);
if (!element) {
console.warn('element was not found', elementId);
}
element.scrollIntoView();
}
</script>
В бритве:
@inject IJSRuntime js
<button class = "btn btn-primary" @onclick = "ScrollTo">Goto The Element</button>
.... a lot of elements
<p id = "ap">The bottom of the page.</p>
@code {
private void ScrollTo()
{
ScrollToElementId("ap");
}
private async void ScrollToElementId(string elementId)
{
await js.InvokeVoidAsync("scrollToElementId", elementId);
}
}
Что означает страница в «перейти к другой части страницы»? Страница бритвы или страница контента? Я создал образец и пытаюсь добавить метку на главную страницу, но страница бритвы не отображается. Приложение кажется зависшим.