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

384
Visualizações
Agregue un estilo personalizado dentro del componente emergente Material-UI de la barra de herramientas DataGrid

Estoy creando un componente de Data Grid Toolbar personalizado modificando los componentes existentes de la Grid Toolbar de Material-UI .

Este es el ejemplo oficial de los componentes de la Grid Toolbar :

Si hacemos clic en uno de los componentes de la Grid Toolbar , se mostrará una ventana emergente como se ve en la captura de pantalla a continuación.

ingrese la descripción de la imagen aquí

Lo que quiero hacer es cambiar todos los tamaños de fuente dentro de cada ventana emergente/ventana emergente de cada componente de la Grid Toolbar .

Intento cambiar un texto, por ejemplo. Como podemos ver en la captura de pantalla a continuación, si inspeccionamos el texto y luego cambiamos las propiedades de color y font-size directamente, cambiaría.

ingrese la descripción de la imagen aquí

Pero si tomo y copio el selector (en este caso es .MuiTypography-body1 ), luego lo pego en mi código, no cambia nada (las propiedades de color y font-size no cambian).

Aquí está el código simple:

 const CustomGridToolbarColumns = withStyles((theme) => ({ root: { color: "dodgerblue", "& .MuiTypography-body1": { fontSize: 20, color: "red" } } }))(GridToolbarColumnsButton);

También quiero cambiar todas las propiedades de color y font-size dentro de cada ventana emergente/ventana emergente de cada componente de la Grid Toolbar . Inspecciono la ventana emergente/popper y luego cambio el font-size y las propiedades de color , pero aún no funciona como se ve en la captura de pantalla a continuación.

ingrese la descripción de la imagen aquí

Aquí están las dependencias (en el archivo package.json):

 "@material-ui/core": "^4.12.3", "@material-ui/styles": "^4.11.4", "@mui/x-data-grid-pro": "^4.0.0",

Aquí está el código completo: https://codesandbox.io/s/data-grid-material-ui-custom-toolbar-kd9gj

Entonces mis preguntas son:

  1. ¿Cómo podemos cambiar algunas propiedades dentro de la ventana emergente/ventana emergente de cada componente de la Grid Toolbar ?
  2. ¿Cómo podemos cambiar todas las propiedades dentro de la ventana emergente/ventana emergente de cada componente de la Grid Toolbar ?
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede inspeccionar el elemento y ver que el componente al que necesita aplicar el estilo se llama GridPanel . Este es el componente contenedor del panel de filtros y columnas. Vea todas las ranuras de componentes aquí como referencia.

V5

 <DataGrid {...data} components={{ Toolbar: GridToolbar, }} componentsProps={{ panel: { sx: { '& .MuiTypography-root': { color: 'dodgerblue', fontSize: 20, }, '& .MuiDataGrid-filterForm': { bgcolor: 'lightblue', }, }, }, }} />

Para cambiar los estilos de los otros 2 GridMenu s (densidad/exportación), debe apuntar al nombre de clase MuiDataGrid-menuList . Actualmente veo que no hay otra forma de usar estilos globales porque DataGrid no le permite personalizar el componente GridMenu :

 <GlobalStyles styles={{ '.MuiDataGrid-menuList': { backgroundColor: 'pink', '& .MuiMenuItem-root': { fontSize: 26, }, }, }} />

Demostración de Codesandbox

V4

 import { DataGrid, GridToolbar, GridPanel } from "@mui/x-data-grid"; const useStyles = makeStyles({ panel: { '& .MuiTypography-root': { color: 'dodgerblue', fontSize: 20, }, }, });
 <DataGrid {...data} components={{ Toolbar: GridToolbar, }} componentsProps={{ // GridPanel panel: { className: classes.panel }, }} />
 <GlobalStyles styles={{ ".MuiDataGrid-gridMenuList": { backgroundColor: "pink", "& .MuiMenuItem-root": { fontSize: 26 } } }} />

Demostración de Codesandbox

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