CloseButton 关闭按钮
用于关闭对话框、模态框或收起内容的按钮组件。
引入
import { CloseButton } from "@heroui/react";用法
import {CloseButton} from "@heroui/react";
export function Default() {
return <CloseButton />;
}自定义图标
自定义图标
备选图标
import {CircleXmark, Xmark} from "@gravity-ui/icons";
import {CloseButton} from "@heroui/react";
export function WithCustomIcon() {
return (交互
已点击:0 次
"use client";
import {CloseButton} from "@heroui/react";
import {useState} from "react";
样式
传入 Tailwind CSS 类
import {CloseButton} from "@heroui/react";
function CustomCloseButton() {
return <CloseButton className="text-red-600 hover:bg-red-100">Close</CloseButton>;
}自定义组件类
要自定义 CloseButton 的组件类,可使用 @layer components 指令。
了解更多.
@layer components {
.close-button {
@apply bg-red-100 text-red-800 hover:bg-red-200;
}
.close-button--custom {
@apply rounded-full border-2 border-red-300;
}
}HeroUI 遵循 BEM 方法论,确保组件变体与状态可复用且易于自定义。
CSS 类
CloseButton 使用以下 CSS 类(查看源码样式):
基础类
.close-button- 组件基础样式
变体类
.close-button--default- 默认变体
交互状态
该组件同时支持 CSS 伪类与 data 属性,便于灵活编写样式:
- 悬停:
:hover或[data-hovered="true"] - 激活/按压:
:active或[data-pressed="true"] - 聚焦:
:focus-visible或[data-focus-visible="true"] - 禁用:
:disabled或[aria-disabled="true"]
API 参考
CloseButton Props
| Prop | 类型 | 默认值 | 描述 |
|---|---|---|---|
variant | "default" | "default" | 按钮的视觉变体 |
children | ReactNode | function | <CloseIcon /> | 显示内容(默认为关闭图标) |
onPress | () => void | - | 按钮按下时触发的事件处理函数 |
isDisabled | boolean | false | 是否禁用按钮 |
React Aria Button Props
CloseButton 继承所有 React Aria Button props。常见 props 包括:
| Prop | 类型 | 描述 |
|---|---|---|
aria-label | string | 提供给屏幕阅读器的无障碍标签 |
aria-labelledby | string | 用于标注按钮的元素 id |
aria-describedby | string | 用于描述按钮的元素 id |
RenderProps
使用渲染 prop 模式时,会提供以下值:
| Prop | 类型 | 描述 |
|---|---|---|
isHovered | boolean | 按钮是否处于悬停状态 |
isPressed | boolean | 按钮是否处于按压状态 |
isFocused | boolean | 按钮是否处于聚焦状态 |
isDisabled | boolean | 按钮是否禁用 |





