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

154
Visualizações
¿Cómo aplicar css al elemento principal cuando el niño se enfoca en Mui V5?

Como una demostración simple, hice este ejemplo de sandbox de código . Quiero aplicar algunos estilos al componente Cuadro cuando el campo Texto está enfocado. En mi caso de uso, puedo aplicar estilos en el instante de clase del campo de texto del cuadro principal. Pero me pregunto cómo el cuadro principal sabe que un niño está enfocado o no y luego aplica css en consecuencia.

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

0

Lo más fácil sería manejar el evento onFocus y onBlur del campo de texto y luego agregar accesorios adicionales al elemento principal cuando el cuadro de texto esté enfocado.

 export default function FullWidthTextField() { const [textFieldFocused, setTextFieldFocused] = React.useState(false); const extraProps = textFieldFocused ? { backgroundColor: "orange" } : {}; const sx = { // ... default styles for the box ...extraProps }; return ( <Box sx={sx}> <TextField fullWidth label="fullWidth" id="fullWidth" onFocus={() => setTextFieldFocused(true)} onBlur={() => setTextFieldFocused(false)} /> </Box> ); }

Aquí hay una demostración actualizada que muestra esta solución en acción.

about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí está mi solución con el evento onFocus y los eventos onBlur

 import * as React from "react"; import Box from "@mui/material/Box"; import TextField from "@mui/material/TextField"; export default function FullWidthTextField() { const [focus, setFocus] = React.useState(false); const toggle = () => setFocus(!focus); const handleOnFocus = () => { toggle(); }; const handleOnblur = () => { toggle(); }; React.useEffect(() => { console.log(focus); }, [focus]); return ( <Box sx={{ width: focus ? "80%" : "10%", padding: 2, margin: 2, transition: "width 1s ease-in-out", // boxShadow: 3 boxShadow: 21 }} > <TextField fullWidth label="fullWidth" id="fullWidth" onFocus={handleOnFocus} onBlur={handleOnblur} /> </Box> ); }

Puedes probar la demo aquí: DEMO

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