news 2026/7/18 23:20:53

解决echarts饼图---legend显示/隐藏饼图不重新计算的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决echarts饼图---legend显示/隐藏饼图不重新计算的问题

利用 formatter 闭包捕获 this,从 chart.getOption() 读取 legend 选中状态。

1. 顶部加 const self = this

initChart() { const self = this // ← 新增 this.chart = echarts.init(this.$refs.pieChart) ...

2. 替换 tooltip formatter

// 原 formatter: function(params) { return '<strong>' + params.name + '</strong><br/>' + '工时: ' + params.value.toFixed(1) + ' h<br/>' + '占比: ' + params.percent + '%' } // 新 formatter: function(params) { const option = self.chart.getOption() const selected = option.legend?.[0]?.selected ?? {} const allData = self.data const visible = allData.filter(d => selected[d.name] !== false) const total = visible.reduce((s, d) => s + (d.value || 0), 0) const pct = total ? (params.value / total * 100).toFixed(1) : '0.0' return '<strong>' + params.name + '</strong><br/>' + '工时: ' + params.value.toFixed(1) + ' h<br/>' + '占比: ' + pct + '%' }

3. 替换 label formatter(字符串 → 函数)

// 原 label: { show: true, formatter: '{b}\n{c} h ({d}%)', fontSize: 12, fontWeight: 500 } // 新 label: { show: true, formatter: function(params) { const option = self.chart.getOption() const selected = option.legend?.[0]?.selected ?? {} const allData = self.data const visible = allData.filter(d => selected[d.name] !== false) const total = visible.reduce((s, d) => s + (d.value || 0), 0) const pct = total ? (params.value / total * 100).toFixed(1) : '0.0' return params.name + '\n' + params.value.toFixed(1) + ' h (' + pct + '%)' }, fontSize: 12, fontWeight: 500 }

效果图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 23:20:43

如何让闲置屏幕变身优雅翻页时钟:FlipIt屏保完全指南

如何让闲置屏幕变身优雅翻页时钟&#xff1a;FlipIt屏保完全指南 【免费下载链接】FlipIt Flip Clock screensaver 项目地址: https://gitcode.com/gh_mirrors/fl/FlipIt 你是否曾经盯着电脑屏幕发呆&#xff0c;看着屏保里无聊的图片或动画&#xff0c;心里想着"这…

作者头像 李华
网站建设 2026/7/18 23:14:34

GPT-5.6 Sol上线数天即曝删库行为 OpenAI定性为“诚实错误”

OpenAI于7月16日首次就其新一代编程及网络安全模型GPT-5.6 Sol被指“删库”一事作出官方回应&#xff0c;承认问题存在并将此定性为模型的“诚实错误”。该模型于7月9日正式向全球用户开放。 开发者指控&#xff1a;模型擅删数据库 多名开发者在社交媒体上报告称&#xff0c;…

作者头像 李华
网站建设 2026/7/18 23:07:47

计算机毕业设计之网上书店管理系统

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括网上书店管理系统的网络应用&#xff0c;在外国书店管理已经是很普遍的方式&#xff0c;不过国内的书店管理可能还处于起步阶段。网上书店管理系统具有购买功能。网上书店管理…

作者头像 李华
网站建设 2026/7/18 22:59:39

API集成能力在2026年项目管理中究竟有多重要?

全文约1900字&#xff0c;预计阅读6分钟三个真实痛点&#xff0c;每个技术团队都在经历 北京一家50人的SaaS公司&#xff0c;项目管理用Jira、代码在GitLab、CI/CD走Jenkins、测试用例在另一套系统、周报要手动从三四个地方凑数据。技术负责人最大的痛苦是&#xff1a;“代码合…

作者头像 李华
网站建设 2026/7/18 22:56:40

把极空间变成私有云后台:1Panel、AList和远程访问一次跑通

前言 很多人买极空间&#xff0c;最开始只是为了备份照片、存电影、同步手机文件。用久了以后会发现&#xff0c;它其实不只是一个存储盒子&#xff0c;而是一台长期在线的Linux设备。既然它能跑Docker、能开SSH&#xff0c;就不应该只停留在“放文件”这一步。 真正把NAS用起…

作者头像 李华
网站建设 2026/7/18 22:55:18

【Bug已解决】False positive cybersecurity flag. 解决方案

【Bug已解决】False positive cybersecurity flag. 解决方案原始报错线索&#xff1a;False positive cybersecurity flag.&#xff08;某个正常行为被网络安全检测系统错误地标记为安全威胁 / 恶意&#xff0c;即「误报 / false positive」。&#xff09;一、现象长什么样 安全…

作者头像 李华