跳转到内容

Snackbar API

想要学习更多组件属性和 CSS API,可以查阅 React Snackbar 组件的 API 文档。

导入

import Snackbar from '@mui/material/Snackbar';
// 或
import { Snackbar } from '@mui/material';
你可以阅读这个关于最小化捆绑包的指南以了解以上二者的差异。

组件名称

在主题中,名称“MuiSnackbar”可用于提供默认属性(props),或者样式覆盖

属性

原生(Native) 组件的属性也是可用的。

名称类型默认值描述
actionnode
The action to display. It renders after the message, at the end of the snackbar.
anchorOrigin{ horizontal: 'center'
| 'left'
| 'right', vertical: 'bottom'
| 'top' }
{ vertical: 'bottom', horizontal: 'left' }
The anchor of the Snackbar. On smaller screens, the component grows to occupy all the available width, the horizontal alignment is ignored.
autoHideDurationnumbernull
The number of milliseconds to wait before automatically calling the onClose function. onClose should then set the state of the open prop to hide the Snackbar. This behavior is disabled by default with the null value.
childrenelement
Replace the SnackbarContent component.
classesobject
Override or extend the styles applied to the component. See CSS API below for more details.
ClickAwayListenerPropsobject
Props applied to the ClickAwayListener element.
ContentPropsobject
Props applied to the SnackbarContent element.
disableWindowBlurListenerboolfalse
If true, the autoHideDuration timer will expire even if the window is not focused.
keyany
When displaying multiple consecutive Snackbars from a parent rendering a single <Snackbar/>, add the key prop to ensure independent treatment of each message. e.g. <Snackbar key={message} />, otherwise, the message may update-in-place and features such as autoHideDuration may be canceled.
messagenode
The message to display.
onClosefunc
Callback fired when the component requests to be closed. Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop. The reason parameter can optionally be used to control the response to onClose, for example ignoring clickaway.

Signature:
function(event: React.SyntheticEvent<any> | Event, reason: string) => void
event: The event source of the callback.
reason: Can be: "timeout" (autoHideDuration expired), "clickaway", or "escapeKeyDown".
openboolfalse
Control the popup` open state.
resumeHideDurationnumber
The number of milliseconds to wait before dismissing after user interaction. If autoHideDuration prop isn't specified, it does nothing. If autoHideDuration prop is specified but resumeHideDuration isn't, we default to autoHideDuration / 2 ms.
sxArray<func
| object
| bool>
| func
| object
The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.
TransitionComponentelementTypeGrow
The component used for the transition. Follow this guide to learn more about the requirements for this component.
transitionDurationnumber
| { appear?: number, enter?: number, exit?: number }
{ enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, }
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.
TransitionPropsobject{}
Props applied to the transition element. By default, the element is based on this Transition component.

ref 则会被传递到根元素中。

CSS

规则名称全局类名描述
root.MuiSnackbar-rootStyles applied to the root element.
anchorOriginTopCenter.MuiSnackbar-anchorOriginTopCenterStyles applied to the root element if anchorOrigin={{ 'top', 'center' }}.
anchorOriginBottomCenter.MuiSnackbar-anchorOriginBottomCenterStyles applied to the root element if anchorOrigin={{ 'bottom', 'center' }}.
anchorOriginTopRight.MuiSnackbar-anchorOriginTopRightStyles applied to the root element if anchorOrigin={{ 'top', 'right' }}.
anchorOriginBottomRight.MuiSnackbar-anchorOriginBottomRightStyles applied to 根元素 if anchorOrigin={{ 'bottom', 'right' }}.
anchorOriginTopLeft.MuiSnackbar-anchorOriginTopLeftStyles applied to the root element if anchorOrigin={{ 'top', 'left' }}.
anchorOriginBottomLeft.MuiSnackbar-anchorOriginBottomLeftStyles applied to the root element if anchorOrigin={{ 'bottom', 'left' }}.

您可以使用组件自定义选项对组件进行个性化:

演示项目