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

237
Visualizações
Uso de los colores de la paleta de temas en la variante del botón MUI personalizado

Tengo una variante de botón MUI 5 en la que me gustaría usar los colores de la paleta de temas existente. Tengo mi appTheme.ts configurado así:

 import { createTheme, Theme } from '@mui/material/styles'; import { alpha } from '@mui/material/styles'; declare module '@mui/material/Button' { interface ButtonPropsVariantOverrides { light: true; } } export const theme: Theme = createTheme({ palette: { primary: { main: 'black', light: 'white', }, secondary: { main: 'gray', light: 'white', }, info: { main: 'white', }, warning: { main: 'red', }, }, typography: { fontFamily: 'Lato', }, components: { MuiButton: { variants: [ { props: { variant: 'light', color: 'primary' }, style: { textTransform: 'none', border: 'none', backgroundColor: 'primary.light', color: 'primary', borderRadius: 8, '&:hover': { backgroundColor: alpha('primary.main', 0.16), '&:active': { backgroundColor: alpha('primary.main', 0.32), }, }, }, }, ], }, }, });

Esto funciona, excepto por las propiedades de estado &:hover , que no saben nada sobre la declaración del tema, y por lo tanto, errores con MUI: Unsupported 'primary.main' color.

¿Hay alguna manera de que pueda usar los colores del tema de esta manera dentro de la declaración del tema, o estoy atascado anulándolo en el nivel del envoltorio del tema? Juro que vi esto en alguna documentación en alguna parte, pero no puedo encontrarlo.

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

0

El problema aquí es que está tratando de hacer referencia a los colores de la paleta de temas en una definición de anulación de tema, lo que está causando un problema. Entonces, el parámetro del método alfa es irreconocible.

Para acceder al color de su paleta de temas, primero defínalo por separado y luego acceda a él.

 const globalTheme = createTheme({ palette: { primary: { main: purple[500] }, secondary: { main: "#11cb5f" } } }); const theme = createTheme( { components: { MuiButton: { variants: [ { props: { variant: "text", color: "primary" }, style: { textTransform: "none", border: "none", backgroundColor: globalTheme.palette.primary.light, color: "#fff", borderRadius: 8, "&:hover": { color: globalTheme.palette.primary.light, backgroundColor: alpha(globalTheme.palette.primary.main, 0.16) }, "&:active": { backgroundColor: globalTheme.palette.primary.dark, color: "#fff" } } } ] } } }, globalTheme );

consulte el ejemplo de trabajo aquí: https://codesandbox.io/s/mui-button-variant-override-e18vg

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