reactjs - 是否可以覆盖 material-ui 组件的默认道具?
问题描述
假设我希望每个Button
组件material-ui
都具有variant="contained" color="secondary"
. 这可能吗?
解决方案
相关文档在这里:https ://material-ui.com/customization/globals/#default-props
以下是如何在 v4 中执行此操作的示例(下方的 v5 示例):
import React from "react";
import ReactDOM from "react-dom";
import {createMuiTheme, MuiThemeProvider, Button} from "@material-ui/core";
const theme = createMuiTheme({
props: {
MuiButton: {
variant: "contained",
color: "secondary"
}
}
});
function App() {
return (
<MuiThemeProvider theme={theme}>
<Button>Props defaulted</Button>
</MuiThemeProvider>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
这是一个类似的示例,但使用了 Material-UI v5 的主题结构:
import React from "react";
import ReactDOM from "react-dom";
import Button from "@mui/material/Button";
import { createTheme, ThemeProvider } from "@mui/material/styles";
const theme = createTheme({
components: {
MuiButton: {
defaultProps: {
variant: "contained",
color: "secondary"
}
}
}
});
function App() {
return (
<ThemeProvider theme={theme}>
<Button>Props defaulted</Button>
</ThemeProvider>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
推荐阅读
- vb.net - 为什么单击计算按钮后我的TextBox 4,5,6变为0?
- java - 如何在Java中将用户输入保存为字符串?
- julia - 计算非常大 N 的谐波级数(任意精度问题)
- ios - 如何在iOS上创建中间有圆圈的底栏
- javascript - 我无法访问所有图表数组键
- java - 如何在 Eclipse RCP 中集成 JRViewer
- google-app-engine - 如何在不写入文件系统的情况下从 Google 存储桶恢复 TensorFlow 模型?
- c# - 使用 P/Invoke 调用 dll 时,为什么 LoadLibrary 在某些机器上会失败?
- excel - 如何将单元格位置或地址保存为变量以在另一张纸上使用
- javascript - React 组件刷新后报错