Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
¿Hay alguna forma de evitar que OnAfterRenderAsync ejecute la función JS para cada representación en Blazor?

Llamo a jquery fun en mi aplicación blazor. Estoy haciendo algunos servicios en Onin. Me gustaría llamar a esta función en mi componente de afeitar. Utilicé el siguiente código en el componente. La función se muestra cuando la página se ha cargado. Pero cuando hago clic o cambio cualquier valor en la página, incluso como un cambio de texto que no está relacionado con la función, la función existía cada vez. ¿Alguna pista?

 protected override void OnAfterRender(bool firstRender) { if(!firstRender) { await JsRuntime.InvokeVoidAsync("TextArea.AddLineToTextArea"); }

Quizás se pregunte por qué puse (!firstRender), la razón es que, de forma predeterminada, firstRender es falso y no sé la razón. Algunas personas dicen, de acuerdo con esta referencia de componente de Blazor Null en First Render , que si su componente está en if/else causará el problema. pero el mio esta afuera

aquí está mi función para agregar un número de línea al área de texto.

 window.TextArea = { AddLineToTextArea:function(){ $(".lined").linedtextarea( {selectedLine: 1} ); // Target a single one $("#inpDefinition").linedtextarea(); } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si invierte la condición if, debería tener lo que necesita:

 protected override void OnAfterRender(bool firstRender) { if (firstRender) { await JsRuntime.InvokeVoidAsync("TextArea.AddLineToTextArea"); } }

Este código significa que JsRuntime.InvokeVoidAsync("TextArea.AddLineToTextArea"); La instrucción se ejecutará solo una vez, cuando el componente la haya renderizado por primera vez.

El método OnAfterRender se ejecuta cada vez que se actualiza el componente, por ejemplo, un usuario hace clic en un botón o lo que sea. Pero el parámetro booleano firstRender es igual a verdadero para la primera representación y será falso después.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!