效果图如图:
目的是当有新消息来临的时候,可以醒目地出现在后台的菜单栏,对未处理的消息一目了然,及时提醒后台管理员,快速处理消息。
由于各自搭建的项目环境和编写代码的方式不一样,在这里只展示实现的思路和部分代码,仅供参考于学习。
三处修改:
1.在菜单配置文件配置:
{
name: '消息记录',
icon: 'notification',
path: 'notification',
showBadge: "notification",
authority: AUTH.NOTIFICATION,
},
2.侧边菜单组件文件:
渲染标徽的函数
// </Badge>是antd 提供的标徽组件 ,count是展示传入的数量
generateBadge(item, content, dot = false) {
const { global } = this.props;
if (item && item.showBadge && Number.isInteger(global[item.showBadge]) &&
global[item.showBadge] > 0)
return (
<Badge dot={dot} count={global[item.showBadge]} offset={[15, 7]}
style={
{
boxShadow: '0 0 0 1px transparent inset',