按钮
按钮让用户通过单击执行操作和做出选择。
简介
按钮用于传达用户可以执行的操作。Joy UI 按钮组件取代了原生的 HTML <button>
元素,并为样式和可访问性提供了扩展选项。
<Button onClick={()=>{}} />
游乐场
基础
import Button from '@mui/joy/Button';
Joy UI 按钮的行为类似于原生的 HTML <button>
,因此它会包裹显示在其表面的文本。
下面的演示展示了按钮可用的三种基本状态:默认、禁用和加载中。
按 Enter 开始编辑
禁用
使用 disabled
属性来禁用交互和焦点
按 Enter 开始编辑
按 Enter 开始编辑
按 Enter 开始编辑
尺寸
按钮组件提供三种尺寸:sm
、md
(默认)和 lg
。
按 Enter 开始编辑
颜色
主题中包含的每个调色板都可以通过 color
属性使用。尝试将不同的颜色与不同的变体结合使用。
变体
装饰器
使用 startDecorator
和 endDecorator
属性将操作和图标附加到按钮的任一侧
按 Enter 开始编辑
按 Enter 开始编辑
加载位置
loadingPosition
属性设置按钮加载指示器的位置。它支持三个值
按 Enter 开始编辑
链接按钮
按钮让用户执行操作,但如果该操作是导航到新页面,那么通常锚标签比按钮标签更可取。
如果您需要按钮的样式和链接的功能,那么您可以使用 component
属性将默认的 <button>
替换为 <a>
,如下所示
文件上传
要创建文件上传按钮,请使用 component="label"
将按钮转换为标签,然后创建一个视觉上隐藏的 file
类型的 input。
<Button
startDecorator={<FavoriteBorder />}
>
CSS 变量
px
<IconButton
>
<FavoriteBorder />
</IconButton>
CSS 变量
px
无障碍
所有按钮都必须具有有意义的 aria-label
,以便需要辅助技术的用户可以理解其用途。
对于图标按钮来说,这一点尤其重要,因为它们不包含任何文本。例如,显示 <FavoriteBorder />
图标的图标按钮可能具有如下标签
<IconButton aria-label="Add to favorites">
<FavoriteBorder />
</IconButton>
解剖结构
按钮组件由单个根 <button>
元素组成,该元素包裹其内容
<button class="MuiButton-root" type="button">
<!-- Button contents -->
</button>