最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - In material-ui v5 How are you meant to override the styles of properties that don't exist in the themes com

programmeradmin0浏览0评论

I am trying to style MuiDataTables and am currently using the adaptv4theme to do it like below

declare module '@material-ui/core/styles/overrides' {
  export interface ComponentNameToClassKey {
    MUIDataTable: any;
    MUIDataTableFilterList: any;
  }
}

export const theme = createMuiTheme(
  adaptV4Theme({
    overrides: {
      MUIDataTable: {
        paper: {
          boxShadow: 'none',
        },
        responsiveBase: {
          overflow: 'clip',
        },
      },
      MUIDataTableFilterList: {
        chip: {
          margin: '8px',
        },
      },

However adaptV4Theme is getting deprecated and do not know how to upgrade my code to the new convention as when I try

themeponents = {
  ...themeponents,
  MUIDataTable:{
     overrideStyles: {

     },
  },

I get the following error: Object literal may only specify known properties, and 'MUIDataTable' does not exist in type 'Components'.

How am I meant to move away from using adaptV4Theme?

I am trying to style MuiDataTables and am currently using the adaptv4theme to do it like below

declare module '@material-ui/core/styles/overrides' {
  export interface ComponentNameToClassKey {
    MUIDataTable: any;
    MUIDataTableFilterList: any;
  }
}

export const theme = createMuiTheme(
  adaptV4Theme({
    overrides: {
      MUIDataTable: {
        paper: {
          boxShadow: 'none',
        },
        responsiveBase: {
          overflow: 'clip',
        },
      },
      MUIDataTableFilterList: {
        chip: {
          margin: '8px',
        },
      },

However adaptV4Theme is getting deprecated and do not know how to upgrade my code to the new convention as when I try

theme.ponents = {
  ...theme.ponents,
  MUIDataTable:{
     overrideStyles: {

     },
  },

I get the following error: Object literal may only specify known properties, and 'MUIDataTable' does not exist in type 'Components'.

How am I meant to move away from using adaptV4Theme?

Share Improve this question edited Oct 18, 2021 at 7:39 Harley Lang 2,3533 gold badges14 silver badges29 bronze badges asked Mar 10, 2021 at 5:49 RedSixRedSix 1731 silver badge7 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

The following declaration works when transitioning from mui-v4 to mui-v5:


export const theme = createTheme({
    ponents: {           // <------ rename "overrides" to "ponents"
      MUIDataTable: {
        styleOverrides: {   // <------ put override property INSIDE ponent definition
          paper: {
            boxShadow: 'none',
          },
          responsiveBase: {
            overflow: 'clip',
          },
        },
      }.
    },
});

See: https://mui./customization/theme-ponents/#global-style-overrides

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论