Alert 警告组件 #
基本用法 #
jsx
import {
Alert,
AlertIcon,
AlertTitle,
AlertDescription,
} from '@chakra-ui/react'
function Example() {
return (
<Alert status="error">
<AlertIcon />
<AlertTitle>错误!</AlertTitle>
<AlertDescription>您的账户余额不足。</AlertDescription>
</Alert>
)
}
状态类型 #
jsx
<Alert status="error">
<AlertIcon />
<AlertTitle>错误</AlertTitle>
</Alert>
<Alert status="success">
<AlertIcon />
<AlertTitle>成功</AlertTitle>
</Alert>
<Alert status="warning">
<AlertIcon />
<AlertTitle>警告</AlertTitle>
</Alert>
<Alert status="info">
<AlertIcon />
<AlertTitle>信息</AlertTitle>
</Alert>
变体 #
jsx
<Alert status="success" variant="subtle">
<AlertIcon />
<AlertTitle>柔和变体</AlertTitle>
</Alert>
<Alert status="success" variant="solid">
<AlertIcon />
<AlertTitle>实心变体</AlertTitle>
</Alert>
<Alert status="success" variant="left-accent">
<AlertIcon />
<AlertTitle>左侧强调变体</AlertTitle>
</Alert>
<Alert status="success" variant="top-accent">
<AlertIcon />
<AlertTitle>顶部强调变体</AlertTitle>
</Alert>
实用示例 #
可关闭警告 #
jsx
function ClosableAlert() {
const [isVisible, setIsVisible] = useState(true)
if (!isVisible) return null
return (
<Alert status="info" variant="subtle">
<AlertIcon />
<AlertTitle>提示</AlertTitle>
<AlertDescription>这是一条重要信息。</AlertDescription>
<CloseButton
position="absolute"
right="8px"
top="8px"
onClick={() => setIsVisible(false)}
/>
</Alert>
)
}
带操作的警告 #
jsx
<Alert status="warning" variant="subtle" flexDirection="column" alignItems="flex-start">
<HStack>
<AlertIcon />
<AlertTitle>存储空间不足</AlertTitle>
</HStack>
<AlertDescription mt={2}>
您的存储空间即将用完,请升级套餐或清理文件。
</AlertDescription>
<Button size="sm" colorScheme="yellow" mt={3}>
升级套餐
</Button>
</Alert>
Alert 属性速查表 #
| 属性 | 说明 | 值 |
|---|---|---|
| status | 状态 | error, success, warning, info |
| variant | 变体 | subtle, solid, left-accent, top-accent |
下一步 #
现在你已经掌握了 Alert 组件,接下来学习 Toast 消息提示,了解如何使用全局消息提示!
最后更新:2026-03-28