Saltar al contenido

¿Cómo puedo cambiar css directamente (sin variable) en Blazor?

Te traemos la contestación a esta pregunta, al menos eso deseamos. Si continuas con dudas déjanoslo saber en un comentario y sin pensarlo

Solución:

Hay varias formas de salir de la “manera blazor” de hacer las cosas y lograr la modificación CSS de un elemento.

más simple: Al igual que puedes usar la clase attributeusa el estilo attribute

[email protected]>

@code 
  string myStyle;

  void MyMethod() 
     myStyle="overflow-y: hidden;"
  

Avanzado: Usar interoperabilidad JS

una. En la vista principal (index.html o Pages/_Host.cshtml dependiendo del tipo de proyecto), cree un punto final js para su componente


b. En archivo de afeitar:

@Inject IJRRuntime JSRuntime
[email protected]>

@code 
  string myId = Guid.NewGuid().ToString("n");

  async Task MyMethod() 
     await JSRuntime.InvokeAsync("applyStyleForElement", 
      new  id = myId,  attrib = "overflowY", value = "hidden" );
  

Finalmente, aplique a su caso especial con el elemento del cuerpo (método “avanzado” anterior).

una. En la vista principal (index.html o Pages/_Host.cshtml dependiendo del tipo de proyecto), cree un punto final js


b. En archivo de afeitar:

@Inject IJRRuntime JSRuntime
(...)

@code 

  async Task MyMethod() 
     await JSRuntime.InvokeAsync("applyStyleForBody", 
       new  attrib = "overflowY", value = "hidden" );
  

Bueno, Blazor aún no admite la modificación directa de css, ya que Web Assembly no lo hace. De todos modos, aviso, está en la hoja de ruta para Web Assembly/Blazor.

Por lo tanto, su mejor apuesta es cambiar el nombre de la clase con variables. Por ahora.

Si entiendes que te ha sido de provecho este artículo, sería de mucha ayuda si lo compartieras con otros programadores así contrubuyes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *