如何在 Material UI 中使用单选按钮组件?


单选按钮用于允许用户在一组值中选择一个值。例如,单选按钮的最佳用例是允许用户在表单中选择性别。

Material UI 提供了预先设计的 Radio 组件,我们可以用它来创建一组单选按钮。

用户可以在终端中使用以下命令在 React 项目中安装 Material UI 库。

npm install @mui/material @emotion/react @emotion/styled 

语法

用户可以按照以下语法使用 Material UI 的 Radio 组件。

<FormControlLabel value = "Delhi" control = {<Radio />} label = "Delhi"/>

在上面的语法中,我们将 Radio 组件作为 FormControlLabel 的 control 属性的 props 值传递。

示例

在下面的示例中,我们导入了 Radio 组件来创建单选按钮,RadioGroup 组件来创建一组单选按钮,以及 FormControlLabel 组件来在表单中使用 Radio 组件。

在输出中,用户可以看到单个列中的三个单选按钮,并且可以选择一个单选按钮。

import React from "react";
import RadioGroup from "@mui/material/RadioGroup";
import FormControlLabel from "@mui/material/FormControlLabel";
import Radio from "@mui/material/Radio";
const App = () => {
   return (
      <div> 
         <h3>
            {" "}
            Using the <i> Radio </i> Component of the Material UI to create a radio buttons {" "}
         </h3>
         <h4> Choose any city </h4>
         <RadioGroup defaultValue = "Delhi" name = "radio-buttons-group">
            <FormControlLabel value = "Bombay" control = {<Radio />} label="Bombay" />
            <FormControlLabel value = "Delhi" control = {<Radio />} label = "Delhi" />
            <FormControlLabel
               value = "Ahmedabad"
               control = {<Radio />}
               label = "Ahmedabad"
            />
            <FormControlLabel value = "Surat" control = {<Radio />} label = "Surat" />
         </RadioGroup>
      </div>
   );
};
export default App;

输出

示例

在下面的示例中,我们将 row 作为 RadioGroup 组件的一个 prop 传递,以便在一行中显示所有单选按钮。此外,我们还将 'onChange' 事件与 RadioGroup 组件一起使用,以便每当用户选择另一个单选按钮时调用 handleChange() 函数。

此外,用户可以在输出中看到所选单选按钮的值。

import React from "react";
import RadioGroup from "@mui/material/RadioGroup";
import FormControlLabel from "@mui/material/FormControlLabel";
import Radio from "@mui/material/Radio";
const App = () => {
   const [selected, setSelected] = React.useState("Delhi");
   function handleChange(event) {
      setSelected(event.target.value);
   }
   return (
      <div> 
         <h3>
            {" "}
            Using the <i> Radio </i> Component of the Material UI to create a radio buttons. {" "}
         </h3>
         <h4> Choose any number </h4>
         <RadioGroup
               row
               defaultValue = "30"
               name = "radio-buttons-group"
               onChange = {handleChange}
            >
            <FormControlLabel value = "10" control = {<Radio />} label = "10" />
            <FormControlLabel value = "20" control = {<Radio />} label = "20" />
            <FormControlLabel value = "30" control = {<Radio />} label = "30" />
            <FormControlLabel value = "40" control = {<Radio />} label = "40" />
         </RadioGroup>
         <p> The value of the selected Radio button is {selected}. </p>
      </div>
   );
};
export default App;

输出

示例

在下面的示例中,我们将学习如何自定义 Material UI 的 Radio 组件。值为 10 的单选按钮是标准的。我们使用 'color' 属性更改了第二个单选按钮的颜色。

我们为第三个单选按钮设置了自定义颜色,并增加了第四个单选按钮的大小。通过这种方式,用户可以使用组件 props 自定义单选按钮。

import React from "react";
import RadioGroup from "@mui/material/RadioGroup";
import FormControlLabel from "@mui/material/FormControlLabel";
import Radio from "@mui/material/Radio";
const App = () => {
   const [selected, setSelected] = React.useState("Delhi");
   function handleChange(event) {
      setSelected(event.target.value);
   }
   return (
      <div>
         <h3>
            {" "} 
            Using the <i> Radio </i> Component of the Material UI to create a radio buttons and customize them. {" "}
         </h3>
         <h4> Choose any number </h4>
         <RadioGroup
               row
               defaultValue = "30"
               name = "radio-buttons-group"
               onChange = {handleChange}
            >
            <FormControlLabel value = "10" control = {<Radio />} label = "10" />
            <FormControlLabel
               value = "20"
               control = {<Radio />}
               label = "20"
               color = "secondary"
            />
            <FormControlLabel
               value = "30"
               control = {<Radio />}
               label = "30"
               sx = {{
                  color: "blue",
               }}
            />
            <FormControlLabel
               value = "40"
               control = {<Radio />}
               label = "40"
               sx = {{
                  "& .MuiSvgIcon-root": {
                     fontSize: 58,
                  },
               }}
            />
         </RadioGroup>
         <p> The value of the selected Radio button is {selected}. </p>
      </div>
   );
};
export default App;

输出

在本教程中,我们学习了如何使用 Material UI 的 Radio 组件。此外,我们还学习了如何使用 props 自定义 Radio 组件。用户可以根据需要传递各种 props 并控制单选按钮组件。

更新于:2023年3月6日

2K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告