Badge
El componente Badge genera un pequeño badge en la esquina superior derecha de su(s) hijo(s).
Badges básicos
Ejemplos de insignias que contienen texto, utilizando colores primarios y secundarios. La insignia se aplica a sus hijos.
<Badge badgeContent={4} color="primary">
<MailIcon color="action" />
</Badge>
Placas personalizadas
He aquí un ejemplo de personalización del componente. Puedes aprender más sobre esto en la sección Personalizando Componentes de la documentación.
<IconButton aria-label="cart">
<StyledBadge badgeContent={4} color="secondary">
<ShoppingCartIcon />
</StyledBadge>
</IconButton>
Visibilidad del Badge
Usted puede usar la propiedad overlap
para establecer el Badge relativo a la esquina del elemento envuelto.
El badge se oculta automáticamente con badgeContent
igual a cero. Usted puede sobrescribir esto con la propiedad showZero
.
<Badge color="secondary" badgeContent={0}>
<MailIcon />
</Badge>
<Badge color="secondary" badgeContent={0} showZero>
<MailIcon />
</Badge>
Valor máximo
Usted puede usar la propiedad max
para establecer el valor máximo que puede contener el Badge.
<Badge color="secondary" badgeContent={99}>
<MailIcon />
</Badge>
<Badge color="secondary" badgeContent={100}>
<MailIcon />
</Badge>
<Badge color="secondary" badgeContent={1000} max={999}>
<MailIcon />
</Badge>
Badge de punto
La propiedad dot
cambia el badge a un pequeño punto. Esto se puede usar como una notificación de que algo ha cambiado sin contar.
<Badge color="secondary" variant="dot">
<MailIcon />
</Badge>
Superposición del Badge
Usted puede usar la propiedad anchorOrigin
para mover el Badge a cualquier esquina del elemento envuelto.
<Badge color="secondary" badgeContent=" ">
{rectangle}
</Badge>
<Badge color="secondary" badgeContent=" " variant="dot">
{rectangle}
</Badge>
<Badge color="secondary" overlap="circular" badgeContent=" ">
{circle}
</Badge>
<Badge color="secondary" overlap="circular" badgeContent=" " variant="dot">
{circle}
</Badge>
Alineación del Badge
Puede usar la propiedad overlap
para colocar la insignia relativa a la esquina del elemento envuelto.
<Badge
anchorOrigin={{
vertical: 'top',
horizontal: 'right',
}}
>
Unstyled
The badge also comes with an unstyled version. It's ideal for doing heavy customizations and minimizing bundle size.
import BadgeUnstyled from '@material-ui/unstyled/BadgeUnstyled';
<StyledBadge badgeContent={5} overlap="circular">
<BadgeContent />
</StyledBadge>
<StyledBadge badgeContent={5} variant="dot" overlap="circular">
<BadgeContent />
</StyledBadge>
Accesibilidad
You can't rely on the content of the badge to be announced correctly. You should provide a full description, for instance, with aria-label
:
<IconButton aria-label={notificationsLabel(100)}>
<Badge badgeContent={100} color="secondary">
<MailIcon />
</Badge>
</IconButton>