Badge
Значок генерирует маленький значок в правом верхнем углу своего дочернего(их) элемента(ов).
Простые значки
Примеры значков, содержащих текст, с использованием первичных и вторичных цветов. Знак применяется к своим детям.
<Badge badgeContent={4} color="primary">
<MailIcon />
</Badge>
<Badge badgeContent={4} color="secondary">
<MailIcon />
</Badge>
<Badge badgeContent={4} color="error">
<MailIcon />
</Badge>
Настраиваемые значки
Ниже находится пример кастомизации компонента. You can learn more about this in the overrides documentation page.
<IconButton aria-label="cart">
<StyledBadge badgeContent={4} color="secondary">
<ShoppingCartIcon />
</StyledBadge>
</IconButton>
Значок автоматически скрывается, когда свойство badgeContent равно нулю. Вы можете переопределить это с помощью пропа showZero
.
<Badge color="secondary" badgeContent={0}>
<MailIcon />
</Badge>
<Badge color="secondary" badgeContent={0} showZero>
<MailIcon />
</Badge>
<Badge badgeContent={99} {...defaultProps} />
<Badge badgeContent={100} {...defaultProps} />
<Badge badgeContent={1000} max={999} {...defaultProps} />
Значок-точка
Проп dot
превращает значок в маленькую точку. Это можно использовать как уведомление о том, что что-то изменилось без количества.
Typography
<Badge color="secondary" variant="dot">
<MailIcon />
</Badge>
<Badge color="secondary" variant="dot">
<Typography>Typography</Typography>
</Badge>
Наложение значка
Вы можете использовать проп overlap
для размещения значка относительно краев элемента.
<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>
Выравнивание значка
Вы можете использовать проп anchorOrigin
для перемещения значка в любой угол элемента.
<Badge
anchorOrigin={{
vertical: 'top',
horizontal: 'right',
}}
>
<StyledBadge badgeContent={5} overlap="circular" sx={{ mr: 2 }}>
<BadgeContent />
</StyledBadge>
<StyledBadge badgeContent={5} variant="dot" overlap="circular">
<BadgeContent />
</StyledBadge>