Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Blazor WASM trabajando con elementos dom sin usar JavaScript

Estoy en el proceso de migrar una aplicación de formulario web antigua a Blazor WASM. La aplicación usa mucho JavaScript y me pregunto cuál es la mejor manera de trabajar con el DOM en Blazor.

Tomemos este ejemplo:

 <ul id="cii-tabmenu" class="nav nav-tabs"> <li class="nav-item"> <a class="nav-link active" data-tabIndex="0" href="#">Mål og investeringspolitik</a> </li> <li class="nav-item"> <a class="nav-link" data-tabIndex="1" href="#">Risk-reward-profil</a> </li> <li class="nav-item"> <a class="nav-link" data-tabIndex="2" href="#">Gebyrer</a> </li> <li class="nav-item"> <a class="nav-link" data-tabIndex="3" href="#">Tidligere resultater</a> </li> <li class="nav-item"> <a class="nav-link" data-tabIndex="4" href="#">Praktiske oplysninger</a> </li> </ul>

Necesitamos lo siguiente para tener una tira de pestañas funcional

  • Un controlador de clics que hace clic en la pestaña
  • Código que establece la clase Activa en la pestaña en la que se hizo clic y la elimina en la pestaña anterior.

Puedo agregar fácilmente un controlador onclick como @onClick="TabClicked(index)", pero ¿cómo puedo configurar la clase activa y eliminar la seleccionada previamente?

Sé cómo hacerlo en JavaScript, pero ahora trabajo en Blazor y me gustaría usar la menor cantidad de js posible.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esta no es la solución más elegante ni mucho menos, pero debería ayudarlo a comprender mejor el paradigma blazor:

 <ul id="cii-tabmenu" class="nav nav-tabs"> <li class="nav-item"> <a class="@(myawesometab[0])" data-tabIndex="0" href="#" @onclick="@(e => myawesometabclick(e, 0))">Mål og investeringspolitik</a> </li> <li class="nav-item"> <a class="@(myawesometab[1])" data-tabIndex="1" href="#" @onclick="@(e => myawesometabclick(e, 1))">Risk-reward-profil</a> </li> <li class="nav-item"> <a class="@(myawesometab[2])" data-tabIndex="2" href="#" @onclick="@(e => myawesometabclick(e, 2))">Gebyrer</a> </li> <li class="nav-item"> <a class="@(myawesometab[3])" data-tabIndex="3" href="#" @onclick="@(e => myawesometabclick(e, 3))">Tidligere resultater</a> </li> <li class="nav-item"> <a class="@(myawesometab[4])" data-tabIndex="4" href="#" @onclick="@(e => myawesometabclick(e, 4))">Praktiske oplysninger</a> </li> </ul> @code { private string[] myawesometab = new string[5] { "nav-link active", "nav-link", "nav-link", "nav-link", "nav-link" }; private void myawesometabclick(MouseEventArgs e, int myawesometabnumber) { for (int i = 0; i < 5; i++) { myawesometab[i] = "nav-link"; } myawesometab[myawesometabnumber] = "nav-link active"; } }

Además, como las páginas de afeitar usan una estructura de archivos similar a las de los formularios winforms, puede intentar actualizar todo el proyecto a las páginas de afeitar, aunque obviamente no entiendo todas las complejidades del proyecto.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda