reactjs - 覆盖 Material UI 类?
问题描述
我正在尝试增加下拉菜单的宽度。在检查中查看它的类,其列为:
class="MuiPaper-root MuiMenu-paper MuiPopover-paper MuiPaper-elevation8 MuiPaper-rounded"
在我的组件中,我试图通过 useStyles 引用它:
const useStyles = makeStyles(theme => ({
root: {
'& MuiPaper-root MuiMenu-paper MuiPopover-paper MuiPaper-elevation8 MuiPaper-rounded': {
width: '500px',
},
},
}))
然后将它附加到我的组件 -
<MaterialTable
title=""
columns={props.state.columns}
data={props.state.data}
components={{
FilterRow: props => (
<MTableFilterRow className={classes.root} {...props} />
),
}}...
</MaterialTable>
我错过了一些东西,有人知道我的断开连接发生在哪里吗?
解决方案
终于解决了问题。我使用 createMuiTheme 并嵌套类以增加宽度。然后我使用 ThemeProvider 传入主题并用它包装组件。
const theme = createMuiTheme({
overrides: {
MuiPaper: {
root: {
'&.MuiMenu-paper': {
'&.MuiPopover-paper': {
'&.MuiPaper-elevation8': {
'&.MuiPaper-rounded': {
width: '375px !important',
},
},
},
},
},
},
},
})
....
<ThemeProvider theme={theme}> <Component/> </ThemeProvider>
推荐阅读
- azure-devops - Azure DevOps Pipline 自动化测试需要哪些权限才能从 Azure Key Vault 读取?
- amazon-web-services - Kubernetes 节点的安全补丁
- ruby - 如何点击只能由自定义属性识别的按钮?
- bash - Bash 无法在脚本中执行特定等式
- jquery - 如何将具有相同文本值的顺序列表项包装在新元素中?
- c# - 如何找出 .NET Core 中 PhysicalFileProvider 更改了哪些文件?
- swift - RxSwift 捕获网络和可达性错误
- bash - 来自 bash 和来自 sh 的调用行在行为上有所不同
- xamarin.mac - 从 PKG 文件安装应用程序在应用程序中不可见
- python - 将 ms 转换为 datetime 时应用时区