如何在 Material UI 中更改复选框的大小和颜色?
复选框是在需要从选项列表中选择多个选项时的一个关键组件。为了控制复选框的大小并使其与网页设计相匹配,请确保已添加了合适的大小和颜色。
在本文中,我们将学习如何在 Material UI 中更改复选框的大小和颜色。在继续本文之前,创建 React 项目并将 Material UI 添加到其中是先决条件。让我们开始并了解如何全面修改复选框的大小和颜色。
修改复选框大小和颜色的步骤
以下是使用 React 在 Material UI 中修改复选框的大小和颜色的完整步骤:
步骤 1:创建一个新的 React 应用并安装 MUI
首先,我们必须先有一个安装了 Material UI 的 React 应用。让我们创建一个新的 React 应用并通过运行以下命令安装 Mui:
npx create-react-app myproject cd myproject npm install @mui/material @emotion/react @emotion/styled
步骤 2:将所需的组件导入到 React 中
现在,当创建新的 React 应用时,在 src 文件夹中有一个主要的 App.js 文件。打开它并将 Checkbox 组件导入以更改复选框的大小和颜色。
import React from "react"; import { Checkbox } from '@mui/material export default function App() { return ( … ) }
步骤 3:修改复选框大小和颜色
以下是使用 Material UI 如何在 React 中更改复选框的大小和颜色的方法。稍后,我们将查看一些显示各种复选框标签方法的示例。
<Checkbox {...label} size="small" color="primary" /> <Checkbox {...label} defaultChecked color="success" />
现在,我们已经看到了使用 React 在 Material UI 中修改或更改复选框的大小和颜色的完整步骤。让我们看一些使用不同方法来完成此操作的示例。
复选框标签 API
<Checkbox> - 此 API 用于使用 Material UI 向项目添加复选框组件功能。
属性
checked - 当为 true 时,此属性用于选中复选框。
checkedIcon - 此属性用于在选中时显示图标。
classes - 此属性用于覆盖或向元素添加样式。
color - 此属性用于向复选框添加颜色。它包括 primary、secondary、success、info、error、warning 等。
defaultChecked - 此属性用于在用户未控制时选中复选框。
disabled - 此属性用于禁用复选框。
disableRipple - 此属性用于禁用复选框的波纹效果。
icon - 此属性用于在未选中时显示图标。
id - 此属性用于定义复选框 ID。
Inderterminate - 此属性用于使复选框处于不确定状态。
indeterminateIcon - 此属性用于在复选框中显示不确定状态图标。
inputProps - 此属性用于向输入元素添加属性。
inputRef - 此属性用于将 ref 传递给复选框。
onChange - 此属性用于触发回调函数。
required - 此属性用于为输入元素添加必填值。
size - 此属性用于更改复选框大小。
sx - 此属性用于向 Material UI 组件添加自定义样式。
value - 此属性用于定义组件值。
示例
在此示例中,我们设计了一些具有不同大小的复选框。您可以使用“size”属性调整复选框大小,该属性提供中等和大型选项。
import Checkbox from "@mui/material/Checkbox"; import React from "react"; export default function App() { return ( <div style={{ display: "flex", marginTop: 30, flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 10, }}> <Checkbox size="small" /> <Checkbox size="medium" /> <Checkbox size="large" /> </div> ); }
输出
示例
在此示例中,我们还创建了具有颜色的复选框。通过使用“color”属性,您可以将复选框颜色更改为 info、warning、success、default 或 error。
import Checkbox from "@mui/material/Checkbox"; import React from "react"; export default function App() { return ( <div style={{ display: "flex", marginTop: 30, flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 10, }}> <Checkbox size="medium" color="default" /> <Checkbox size="medium" color="error" /> <Checkbox size="medium" color="info" /> <Checkbox size="medium" color="success" /> <Checkbox size="medium" color="primary" /> <Checkbox size="medium" color="secondary" /> <Checkbox size="medium" color="warning" /> </div> ); }
输出
示例
此外,为了向我们的复选框添加标签并进一步自定义其颜色,我们使用了 FormControlLabel 组件。与之前一样,您可以通过使用前面提到的“color”属性来修改复选框颜色。
import { FormControlLabel, FormGroup } from "@mui/material"; import Checkbox from "@mui/material/Checkbox"; import React from "react"; export default function App() { return ( <div style={{ display: "flex", marginTop: 30, flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 10, }}> <FormGroup> <FormControlLabel control={<Checkbox color="primary" />} label="Primary checkbox" /> <FormControlLabel control={<Checkbox color="secondary" />} label="Secondary checkbox" /> <FormControlLabel control={<Checkbox color="info" />} label="info checkbox" /> <FormControlLabel control={<Checkbox color="error" />} label="error checkbox" /> <FormControlLabel control={<Checkbox color="warning" />} label="warning checkbox" /> <FormControlLabel control={<Checkbox color="success" />} label="success checkbox" /> </FormGroup> </div> ); }
输出
示例
在此示例中,为了在大小和颜色变化(包括 primary、secondary info、warning、success、default 和 error)方面提供自定义选项,我们在使用 FormControlLabel 创建带标签的复选框时组合了“size”和“color”属性。
import { FormControlLabel, FormGroup } from "@mui/material"; import Checkbox from "@mui/material/Checkbox"; import React from "react"; export default function App() { return ( <div style={{ display: "flex", marginTop: 30, flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 10, }}> <FormGroup> <FormControlLabel control={<Checkbox color="primary" size="small"/>}label="Primary checkbox"/> <FormControlLabel control={<Checkbox color="secondary" size="small"/>}label="Secondary checkbox"/> <FormControlLabel control={<Checkbox color="info" size="medium"/>}label="info checkbox"/> <FormControlLabel control={<Checkbox color="error" size="medium"/>}label="error checkbox"/> <FormControlLabel control={<Checkbox color="warning" size="large"/>}label="warning checkbox"/> <FormControlLabel control={<Checkbox color="success"size="large"/>}label="success checkbox"/> </FormGroup> </div> ); }
输出
示例
在此示例中,我们借助 FormControlLabel 创建了自定义复选框和标签,该组件使用‘sx’属性更改大小和颜色。
import { FormControlLabel, FormGroup } from "@mui/material"; import Checkbox from "@mui/material/Checkbox"; import React from "react"; export default function App() { return ( <div style={{ display: "flex", marginTop: 30, flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 10, }}> <FormGroup> <FormControlLabel label="custom checkbox" control={ <Checkbox sx={{ "& .MuiSvgIcon-root": { fill: "pink", fontSize: 80, }, }} /> } sx={{ '& .MuiFormControlLabel-label': { color: 'pink', fontSize: 40, }, }} /> <FormControlLabel label="custom checkbox" control={ <Checkbox sx={{ "& .MuiSvgIcon-root": { fill: "orange", fontSize: 100, }, }} /> } sx={{ '& .MuiFormControlLabel-label': { color: 'orange', fontSize: 60, }, }} /> <FormControlLabel label="custom checkbox" control={ <Checkbox sx={{ "& .MuiSvgIcon-root": { fill: "violet", fontSize: 120, }, }} /> } sx={{ '& .MuiFormControlLabel-label': { color: 'violet', fontSize: 80, }, }} /> </FormGroup> </div> ); }