Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

281
Visualizações
¿Cómo puedo usar input type='text' en un botón de icono (interfaz de usuario de material) en React?

Primero, mira mi código.

Vuelvo a escribir mi código para que quede claro. ¡Así que no hay necesidad de preocuparse por las cosas de importación!

 const test = () => { return ( <label > <input type='file' multiple style={{ display: 'none' }} /> <Tooltip title='Upload Files'> <IconButton> <AddBox color='primary' fontSize='large'/> </IconButton> </Tooltip> </label> ) }

Aquí, con este código, intento abrir input type="text" cuando hago clic en IconButton.

Pero parece que no hay cambios.

Intenté algunas formas diferentes, sin embargo, no funcionó bien :/

FYI, aquí está la imagen del botón AddBox que quiero usar en nombre del tipo de entrada = 'texto'.

AÑADIR ICONOBOTÓN

No soy bueno en inglés, ¡así que por favor sean comprensivos!

¡¡Tengo muchas ganas de saber de ti!!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Prueba esto

 const Test = () => { return ( <label htmlFor='file'> <input id='file' type='file' multiple style={{ position: 'fixed', top: '-100em' }} onChange={e => console.log(e.target.files)} /> <Tooltip title='Upload Files'> <IconButton component='span'> <RiAddBoxFill color='primary' fontSize='large' /> </IconButton> </Tooltip> </label> ); };

Creé este código basado en el ejemplo de Material UI ( https://mui.com/components/buttons/#upload-button ) y ya lo probé

Notas:

  1. el atributo htmlFor en la label y la id en input se usa para conectar ambos elementos para hacer que la etiqueta active el clic de entrada si el valor coincide. Vea esto: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/for (en js simple usamos for pero en react usamos htmlFor probablemente porque la palabra clave for está reservada para javascript for loop )
  2. IconButton necesita accesorios component='span' (no estoy seguro de esto, por defecto usa el botón pero cuando lo intenté no pudo activar el clic de entrada, probablemente porque el elemento del botón bloquea el elemento de la etiqueta)
  3. EDITAR: en Safari, la entrada se deshabilita cuando se oculta con pantalla: ninguna. Un mejor enfoque sería usar position: fixed; arriba: -100em. Fuente: https://stackoverflow.com/a/28075416/10661914

EDITAR: para obtener los archivos, use onChange en el elemento de entrada, el código ya se actualizó

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda