Badge徽标数值不更新是怎么回事? 欧阳仪凡 提问于 2026-03-14 23:41:24 阅读 68 组件 我在用Vue写一个消息通知的Badge,数据明明变了,但页面上的徽标数字就是不刷新。试过用v-if强制重新渲染也不行。 这是我的代码: <el-badge :value="unreadCount" class="item"> <el-button size="small">消息</el-button> </el-badge> 而且我在methods里打印了console.log(this.unreadCount),值确实是更新了的,但Badge就是不动,是不是我漏了什么响应式处理? Badge徽标数据展示 我来解答 赞 12 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 凡敬 Lv1 这个问题我之前也碰到过,基本就两个常见原因: 一个是你数据更新的可能是字符串而不是数字。el-badge对类型比较敏感,有时候控制台打印出来的"5"实际上是"5"这个字符串,不是数字5。你可以在赋值的时候强制转成数字试试: this.unreadCount = Number(res.data.unreadCount) // 或者 this.unreadCount = +res.data.unreadCount 另一个是值为0的时候el-badge默认不显示。这是组件的设计逻辑,如果你就是想要显示"0",需要加一个:hidden="false"的属性: <el-badge :value="unreadCount" :hidden="unreadCount === 0" class="item"> 或者直接判断要不要显示Badge: computed: { badgeValue() { return this.unreadCount || '' } } 你先试试把类型转成Number,看看能不能解决。 回复 点赞 2026-03-17 08:06 加载更多 相关推荐 1 回答 67 浏览 Material-UI Badge徽章在动态更新时位置偏移怎么办? 在Vue项目里用Badge显示购物车数量,数据更新后徽章位置会突然跳到图标下方,之前正常显示在右上角的 代码是这样写的: <template> <Badge :overlap="tr... 迷人的博硕 组件 2026-02-14 20:41:27 2 回答 158 浏览 React Badge徽标数字不显示,怎么定位问题? 在用Ant Design的Badge组件给消息按钮添加未读数时,数字一直不显示,但控制台没有报错。我按照文档写了类似下面的代码,但数字就是不出来,是样式被覆盖了吗? import { Badge, B... 小莆泽 组件 2026-02-07 10:10:29 1 回答 70 浏览 Material-UI的Badge徽章怎么自定义颜色? 我用Material-UI的Badge组件时,想改徽章的背景色,但官方文档里只看到primary、secondary这些预设值。试了color="error"可以变红,但我想用自定义的颜色比如#ff6... 天琪 组件 2026-03-16 18:38:21 2 回答 66 浏览 Material-UI的Badge徽章怎么总盖不住按钮图标? 我在用Material-UI的Badge包裹按钮时,发现徽章总是显示在图标下方,而不是右上角。按照文档用了anchorOrigin和transform属性,但位置还是不对: <Badge bad... 公孙文博 组件 2026-02-16 09:13:23 2 回答 62 浏览 Badge徽章总是显示在按钮外面,怎么调整位置都不对? 在用Ant Design的Badge组件包裹按钮时,数字徽章总是显示在按钮右侧下方而不是右上角,试过改margin和padding都不行。比如这样写: <Badge count={5}> ... 焕焕的笔记 组件 2026-02-10 11:35:30 2 回答 56 浏览 Badge徽章在图标上显示位置不对怎么调整? 我在用Ant Design的Badge包裹图标时,发现徽章总是偏到右下方去了,不是我想要的右上角位置。我试过改margin和position属性都不管用,这是为什么啊? import { Badge,... 司空东焕 组件 2026-01-26 22:07:19 1 回答 47 浏览 Bootstrap徽章数量更新后样式错乱怎么办? 我在用Bootstrap 5做消息通知徽章,通过JS动态更新badge里的数字,但改完之后徽章变宽还换行了,明明内容没超啊? 我试过直接改innerText,也试过先清空再append新文本节点,都不... W″嘉赫 组件 2026-03-12 12:07:19 1 回答 70 浏览 Bootstrap徽章怎么动态更新数字不刷新页面? 我用Bootstrap的badge做消息通知,但不知道怎么在JS里动态改数字。试过直接改innerHTML,结果样式没了。 比如原来代码是5,我想改成10,但一替换整个span就变普通文字了。 是不是... 一昊然 组件 2026-02-28 15:10:19 1 回答 170 浏览 Bootstrap徽章怎么在按钮里垂直居中显示? 我用Bootstrap 5给按钮加了个badge徽章,但徽章总是偏下,看起来没对齐。试过加align-items-center和d-flex,还是不行。 代码是这样的: <button type... 上官淑瑶 组件 2026-03-20 08:48:20 2 回答 71 浏览 Statistic组件数值不更新是怎么回事? 我在用 Ant Design 的 Statistic 组件展示一个动态变化的数值,但数据变了组件却没刷新。明明 state 已经更新了,页面上还是显示旧值。 我试过用 useEffect 监听数据变化... Tr° 景景 组件 2026-03-19 23:14:20
一个是你数据更新的可能是字符串而不是数字。el-badge对类型比较敏感,有时候控制台打印出来的"5"实际上是"5"这个字符串,不是数字5。你可以在赋值的时候强制转成数字试试:
另一个是值为0的时候el-badge默认不显示。这是组件的设计逻辑,如果你就是想要显示"0",需要加一个:hidden="false"的属性:
或者直接判断要不要显示Badge:
你先试试把类型转成Number,看看能不能解决。