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

262
Vistas
Evento onChange personalizado Formik

Estoy tratando de personalizar onChange en la entrada de formik para convertir el valor que es una cadena en un número, sin embargo, el comportamiento no cambia, el archivo console.log tampoco se muestra en la pantalla. Creo que no está sobrescribiendo el comportamiento predeterminado de Formik. ¿Qué estoy haciendo mal?

Entrada de control

 <App.FormField name={'monthly_salary'}> {({field, form}) => ( <C.InputGroup> <C.InputLeftAddon bg={'primary.100'}> {'R$'} </C.InputLeftAddon> <Custom.Input variant={'secondary'} placeholder={t('form.placeholder_value_zero')} mask={'currency'} handleChange={(e) => { console.log(parseValue(e.currentTarget.value)) form.setFieldValue( field.name, parseValue(e.currentTarget.value) ) }} {...field} /> </C.InputGroup> )} </App.FormField>

Entrada de mi componente personalizado

 export const Input = ({mask, handleChange, ...props}: InputProps) => { const handleInput = useCallback( (e: React.FormEvent<HTMLInputElement>) => { if (mask === 'currency') { currency(e) } }, [mask] ) return ( <C.Input inputMode={'numeric'} onInput={handleInput} onChange={handleChange} {...props} /> ) }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes intentar algo así:

 const onChange = (event: React.ChangeEvent<HTMLInputElement>) => { let newEvent = event; newEvent.target.value = "asd"; return field.onChange(newEvent); };
about 4 years ago · Juan Pablo Isaza Denunciar

0

No puedo reproducir tu código para probarlo, pero te sugiero que pruebes esto

 onChange={(e) => { handleChange(e); console.log(parseInt(e.currentTarget.value)) form.setFieldValue( field.name, parseInt(e.currentTarget.value) ) }}

en vez de

 handleChange={(e) => { console.log(parseValue(e.currentTarget.value)) form.setFieldValue( field.name, parseValue(e.currentTarget.value) ) }}
about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda