当前位置: 首页 > news >正文

Material UI 5 学习02-其它按钮组件

Material UI 5 学习02-其它按钮组件

  • 一、IconButton按钮
  • 二、 ButtonGroup按钮组
    • 1、最基本的实例
    • 2、垂直按钮组

一、IconButton按钮

图标按钮通常适用于切换按钮,允许选择或选择单个选项 取消选择,例如在项目中添加或删除星号。

                <IconButton aria-label="delete">
                    <DeleteIcon />
                </IconButton>
                <IconButton aria-label="delete" disabled  color="primary">
                    <DeleteIcon />
                </IconButton>
                <IconButton color="secondary" aria-label="add an alarm">
                    <AlarmAdd />
                </IconButton>
                <IconButton color="primary" aria-label="add to shopping cart">
                    <AddShoppingCart />
                </IconButton>

在这里插入图片描述
经过自己的测试,发现Button按钮的一些属性,在IconButton中没有,或者是不起作用的。
IconButton也是没有任何背景颜色的,也没有边框的。
下面比较Button和IconButton的异同。

ButtonIconButton
variant属性存在不存在
disabled属性存在存在
href属性存在存在
disableElevation属性存在不存在
onClick存在存在
color存在存在
size存在存在,但没有效果
startIcon存在不存在
endIcon存在不存在

二、 ButtonGroup按钮组

学习了基本的按钮,我们可以学习按钮组这个组件ButtonGroup

1、最基本的实例

在这里插入图片描述

       <ButtonGroup variant="contained">
           <Button>按钮一</Button>
           <Button>按钮二</Button>
           <Button>按钮三</Button>
       </ButtonGroup>

2、垂直按钮组

1、variant属性是可以用在ButtonGroup 上面的
2、color和size同样也可以使用在ButtonGroup 上面
3、默认的按钮组是水平排列的
4、如果要垂直排列,则加上属性orientation=“vertical” 即垂直排列即可。
下面的代码来自官网。

import {Box, Button, ButtonGroup} from "@mui/material";

const buttons = [
    <Button key="one">One</Button>,
    <Button key="two">Two</Button>,
    <Button key="three">Three</Button>,
];
function App() {
    return (
        <Box sx={{display: 'flex', '& > *': {m: 1}}}>
            <ButtonGroup orientation="vertical" aria-label="Vertical button group">
                {buttons}
            </ButtonGroup>
            <ButtonGroup
                orientation="vertical"
                aria-label="Vertical button group"
                variant="contained"
            >
                {buttons}
            </ButtonGroup>
            <ButtonGroup
                orientation="vertical"
                aria-label="Vertical button group"
                variant="text"
            >
                {buttons}
            </ButtonGroup>
        </Box>

    );
}
export default App;

在这里插入图片描述
我来解释一下上面的代码含义。

1、Box是一个组件,类似于div,是一个布局组件。
2、display:flex则说明弹性布局。
3、‘& > *’: {m: 1}这段代码的含义是:& > * 在 Sass/SCSS 中表示选择当前选择器的所有直接子元素。在这里,是 Material-UI组件的直接子元素。也就是所有的ButrtonGroup按钮。m:1就是设置外边距为1。

下面是一个例子:

import React from 'react';  
import { makeStyles } from '@material-ui/core/styles';  
import List from '@material-ui/core/List';  
import ListItem from '@material-ui/core/ListItem';  
  
const useStyles = makeStyles({  
  list: {  
    display: 'flex',  
    '& > *': {  
      m: 1, // 设置所有直接子元素的外边距  
    },  
  },  
});  
  
export default function MyComponent() {  
  const classes = useStyles();  
  
  return (  
    <List className={classes.list}>  
      <ListItem>Item 1</ListItem>  
      <ListItem>Item 2</ListItem>  
      <ListItem>Item 3</ListItem>  
    </List>  
  );  
}

在这个例子中,List 组件被设置为了弹性容器,而它的所有直接子元素(ListItem)都将获得由 m: 1 定义的外边距。这个外边距的具体值取决于主题中 spacing 的配置。

相关文章:

  • Android中的传感器类型和接口名称
  • 探索数据结构:单链表的实战指南
  • 【C++】C++模板基础知识篇
  • 【kubernetes】关于k8s集群的污点和容忍,以及k8s集群的故障排查思路
  • 读《文明之光》第1册总结
  • Cluade3干货:超越GPT,模型特点分析+使用教程|2024年3月更新
  • 【C++精简版回顾】18.文件操作
  • 蓝桥杯刷题(一)
  • C语言从入门到精通 第十二章(程序的编译及链接)
  • 备份 ChatGPT 的聊天纪录
  • [C语言]——分支和循环(4)
  • Guitar Pro 8.1中文版永久许可证激活2024最新24位注册激活码生成器
  • 开发Chrome扩展插件
  • Springboot + Vue用户管理系统
  • 鸿蒙开发之gson解析
  • Web自动化测试之selenium环境搭建
  • Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(二)
  • linux防火墙和开放端口命令
  • MySQL--MHA高可用方案
  • 宏auto关键字(C++基础)
  • 对话哭泣照被恶意盗用成“高潮针”配图女生:难过又屈辱
  • 中国德国商会报告:76%在华德企受美国关税影响,但对华投资战略依然稳固
  • 江苏省泰州市委常委、宣传部部长刘霞接受审查调查
  • 中国证监会印发《推动公募基金高质量发展行动方案》
  • 联合国秘书长吁印巴“最大程度克制”,特朗普:遗憾,希望尽快结束冲突
  • 山东滕州车祸致6人遇难,醉驾肇事司机已被刑事拘留