Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Reactjs onBlur solo se activa si vuelvo a la entrada y luego salgo

Todas las funciones funcionan como se supone que deben hacerlo, sin embargo, me gustaría que el total general se actualice después de cada pestaña o haga clic fuera de las entradas.

JSX:

 <div className="w-full px-2 md:w-1/6"> <input type="text" placeholder="0.00" id="unit_price" onBlur={(e) => handlePriceChange(e)}/> </div> <div className="w-full px-2 md:w-1/6"> <input type="text" id="qty" onBlur={(e) => handleQtyChange(e)} /> </div>

Aquí están las funciones del controlador:

 const handleQtyChange = (e: any) => { let parsedQty: number = parseFloat(e.target.value); if(Number.isNaN(parsedQty)){ console.log("yes") parsedQty = 0; } let final = parsedQty * price; setQty(parsedQty); setTotal(final); lineTotal(final, count) //this fires the addLineTotal() function in the parent component } const handlePriceChange = (e: any): void => { let parsedPrice: number = parseFloat(e.target.value); if(Number.isNaN(parsedPrice)){ console.log("yes") parsedPrice = 0; } let final = parsedPrice * qty; setPrice(parsedPrice); setTotal(final); lineTotal(final, count) //this fires the addLineTotal() function in the parent component }

Finalmente, aquí están las funciones de devolución de llamada del componente principal para calcular los totales de línea y luego el total general.

 const addLineTotal = (num: number, lineID: number): void => { //calculates line total and executes grant total function console.log("num => ", num); let newTotal: number[] = [...total]; console.log("New total => ", newTotal) newTotal[lineID] = num; setTotal(newTotal); calculateGrandTotal(); } const calculateGrandTotal = () => { //reduces the total array to single value const reducer = (a: number, b: number) => a + b; let gt: number = total.reduce(reducer); console.log("GT => ", gt, "type of gt => ", typeof gt); setGrandTotal(gt); }

Todos los números se calculan correctamente, pero necesito volver a la línea y luego salir para calcular el total general.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda