• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

125
Vistas
El valor de entrada no cambia en los eventos de pulsación de tecla y pulsación de tecla
import { useState } from "react"; export default function App() { const [height, setHeight] = useState('') const handleKeyPressUp = event => { const { value } = event.target setHeight(value) } return ( <input value={height} onKeyPress={handleKeyPressUp} onKeyUp={handleKeyPressUp} /> ); }

Pedí usar keypress en lugar de onChange para escuchar el cambio de entrada. Y uso tanto onKeyPress como onKeyUp porque onKeyPress se activa justo antes de que cambie el valor de entrada ( ¿Cómo obtener el texto de un cuadro de texto de entrada durante onKeyPress? ), y también la pulsación de tecla solo se activará para las teclas que producen un valor de carácter. es decir, no se activará al retroceder ( https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event ).

Pero al asignar el valor de height del estado al valor de entrada, la entrada no aceptará ninguna entrada. ¿Por qué el valor de entrada no se actualiza al escribir texto en el campo?

almost 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Básicamente, los eventos OnKeyPress le proporcionan la "clave" que se está escribiendo. Usando esas teclas puedes completar tu tarea.

 const handleKeyPressUp = (event) => { const { key } = event; let value = height || ""; if (key === "Backspace") { value = value.slice(0, value.length - 1); } else { value = value + key; } setHeight(value); };

consulte este enlace para ver la solución de trabajo: https://codesandbox.io/s/nifty-snow-mnrlf?file=/src/App.js:114-389

Nota: el método anterior es una especie de truco y necesita manejar algunos casos de esquina más, se recomienda usar el oyente onChange.

almost 3 years ago · Juan Pablo Isaza Denunciar

0

Puedes cambiar así

 onChange={(event) => { const { value } = event.target; setHeight(value) }}

Supongo que esto se resolverá

almost 3 years ago · Juan Pablo Isaza Denunciar

0

En esta situación, prefiera usar onChange en lugar de usar onkeypress o onkeyup trigger.

almost 3 years ago · Juan Pablo Isaza Denunciar
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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda