Tengo un botón donde abro una página blazor. Actualmente uso la pantalla css cambiando entre ninguno y bloque.
Pero quiero cambiar la forma en que esto funciona, lo que pensé que agregaría para abrir la página cuando hago clic en el botón y cerrar cuando hago clic en el otro
La página de afeitar abierta debe abrirse dentro de la ventana principal.
Yo uso el botón de la siguiente manera:
<svg class="Mybutton" viewBox="0 0 50 50" @onclick="() => OpenConf()"> ... </svg> void OpenMenu() { SRuntime.InvokeAsync<string>("OpenConf"); } function OpenConf() { document.getElementById("navi").style.display = "block"; }
¿Hay alguna forma de abrir y cerrar la página creada en un archivo de afeitar?
Para ser más claro, un ejemplo.
Tengo la ventana principal y en esa ventana tengo un botón de Configuración.
Cuando hago clic en este botón, se abre el archivo razor con el código de esta página y cuando hago clic en el botón dentro de esta página, se cierra.
Buen comienzo.
Una cosa a tener en cuenta al escribir con Blazor es que rara vez necesita JS, lo que puede ayudarlo a encontrar una solución.
En primer lugar, recuerde que Blazor detecta el estado y actualizará la página en consecuencia. Por lo tanto, podemos crear un bool
para recordar si la página debe mostrarse/ocultarse.
@code { private bool _pageShown = true; }
Ahora vamos a crear un botón para alternar este booleano
<button @onclick="() => _pageShown = !_pageShown">Toggle</button>
Tenga en cuenta que esta es una función lambda, porque es un controlador de eventos.
Finalmente, agreguemos una declaración if
@if (_pageShown) { <p> Content we might want to show, but we also might want to hide this... </p> }