按钮组切换控制统计图显示【统计图切换渲染失败】

背景

需要实现点击左上角按钮组的按钮,切换对应的统计图
在这里插入图片描述

  1. 点击按钮1呈现的统计图。映射的实体类Vo1
    在这里插入图片描述
  2. 点击按钮2呈现的统计图。映射的实体类Vo2
    在这里插入图片描述
    可能会出现的问题:
    (1) 空白:进入页面只渲染第一个统计图,点击按钮后,第二个统计图不显示,div为空白。
    (2) 数据错乱:第一个统计图的4个series的data会乱入到第二个统计图的3个data,使其也在页面上显示4个data。

正常显示的实现方式

前端

template模块的按钮上增加点击事件;统计图模块增加v-show控制div显隐。

<el-row :gutter="10" class="mb8"><div style="margin-left: 65px; margin-top: 15px"><el-button-group>			<!--注意点击事件--><el-button type="primary" size="small" plain @click="showChart('1')">按钮1</el-button><el-button type="primary" size="small" plain @click="showChart('2')">按钮2</el-button></el-button-group></div>
</el-row>
<el-row><el-col align="center"><!--        统计图--><div id="chart_1" v-show="showAvg" class="chart"></div><div id="chart_2" v-show="!showAvg" class="chart" ></div></el-col></el-row>
data() {return {//按钮参数chartType: '1',//统计图1的数据singleCostValue: [],//统计图2的数据singleTotalValue: [],// v-show 判断是否显示divshowAvg: true,// 查询参数queryParams: {pageNum: 1,pageSize: 10,dateCost: null,	//年份查询参数},}}mounted() {this.$nextTick(()=>{this.showChart('按钮1');});},
methods() {
/** 按钮点击切换图表 */showChart(type) {this.chartType = type;if (this.chartType === '1' || type === null){this.showAvg = true;this.initChart_1();		//初始化统计图1}else {this.showAvg = !this.showAvg;this.initChart_2();		//初始化统计图2}},initChart_1(){//根据参数查询,把后端数据传递到统计图方法myEChart_1singleCostChart(this.queryParams).then(response => {this.myEChart_1(response.data);})},initChart_2(){singleIncomeChart(this.queryParams).then(response => {this.myEChart_2(response.data);})},myEChart_2(datm) {var dataMonth = [];var dataCost = [];var dataOut = [];var dataRatio = [];for ( let i = 0; i<datm.length; i++ ){var item1 = {// value: formattedDate,value: datm[i].dateCost.toString().substring(0,7),};//写入横坐标x轴年月dataMonth.push(item1);var item2 = {value: datm[i].totalCost,};//写入统计图第一个数据列表,即第一个柱dataCost.push(item2);var item3 = {value: datm[i].totalOutput,};//写入第二个数据列表dataOut.push(item3);var item4 = {value: datm[i].profitRatio,};//写入第三个数据列表dataRatio.push(item4);}var option = {tooltip: {trigger: 'axis',axisPointer: {type: 'cross',crossStyle: {color: '#999'}}},legend: {data: ['bar1', 'bar2', 'line3'],y: 'bottom'},xAxis: [{type: 'category',data: dataMonth,axisPointer: {type: 'shadow'}}],yAxis: [{type: 'value',name: '',axisLabel: {formatter: '{value}万元'}},{type: 'value',name: '',axisLabel: {formatter: '{value}%'}}],series: [{name: 'bar_1',type: 'bar',yAxisIndex: 0,tooltip: {valueFormatter: function (value) {return value + '万元';}},data: dataCost},{......}//省略]};var myChart_1 = echarts.init(document.getElementById("chart_2"));myChart_1.setOption(option);window.addEventListener("resize", () => {myChart_1.resize();});},
附注

上示统计图中,联合右上角日期框选择器,查询数据显示对应的统计图
在这里插入图片描述
添加事件变化监听@change事件

<el-date-picker clearablev-model="queryParams.dateCost"type="year"style="border-radius: 4px; border: #00afff solid 1px;margin-left: 400px; width: 270px"value-format="yyyy-MM-dd HH:mm:ss"@change="handleYearChange"placeholder="请选择年份">
</el-date-picker>
/** 年份选择 */handleYearChange(value) {//  console.log('选择的年份是:', value);this.showChart('1');},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/847339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript核心类型概览与应用-1

文章目录 TypeScript入门1.TypeScript介绍2.编译并运行TS代码2.1.简化运行ts步骤 3.TS中的常用类型3.1.TS中的类型注解3.2.TS中的原始类型3.3.TS中的数组类型3.4.TS中的联合类型3.5.类型别名3.6.函数类型3.6.1.单独执行参数、返回值类型3.6.2.同时指定参数&#xff0c;返回值类…

OpenGL系列(四)Shader

通过VBO和VAO准备好数据后&#xff0c;接下来要指示GPU如何通过这些数据绘制图形。类似CPU可以通过执行程序来完成特定的任务&#xff0c;GPU也可以执行特定的程序来完成绘制任务&#xff0c;GPU执行的程序称为Shader&#xff0c;也叫着色器。 GPU绘制图形分为不同的处理阶段&a…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑发用电相似性的海上风电中长期双边协商交易优化决策模》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

小鸡庄园智慧农场养殖游戏开发:科技与农业的完美结合

随着科技的进步&#xff0c;一种全新的游戏模式——智慧农场养殖游戏&#xff0c;正在逐渐崭露头角。本文将深入探讨小鸡庄园智慧农场养殖游戏的开发背景、特点、技术实现方式以及未来的发展趋势&#xff0c;以期为游戏产业创新和农业现代化提供新的思路和启示。 一、开发背景…

Rust 性能分析

都说Rust性能好,但是也得代码写得好,猜猜下面两个代码哪个快 . - 力扣&#xff08;LeetCode&#xff09; use std::collections::HashMap; use lazy_static::lazy_static;lazy_static! {static ref DIGIT: HashMap<char, usize> {let mut m HashMap::new();for c in …

【Nacos】docker-compose启动nacos v2.2.3,启动时修改默认密码不使用naocs

1. 背景 出于安全考虑&#xff0c;我司DevOps平台自动部署的容器化nacos密码不能是弱密码或默认值 但是nacos-v2.2.3官方镜像启动后会初始化nacos用户密码为nacos&#xff0c;修改启动时的变量并没有生效。 2. 部署验证 2.1 yml文件如下 注意将derby库的初始化文件挂载出来…

Python | Leetcode Python题解之第129题求根节点到叶节点数字之和

题目&#xff1a; 题解&#xff1a; class Solution:def sumNumbers(self, root: TreeNode) -> int:if not root:return 0total 0nodeQueue collections.deque([root])numQueue collections.deque([root.val])while nodeQueue:node nodeQueue.popleft()num numQueue.p…

产品人生(9):从“波士顿矩阵”看“个人职业规划”

波士顿矩阵&#xff08;简称BCG矩阵&#xff09;是一种战略规划工具&#xff0c;由波士顿咨询公司的创始人布鲁斯亨德森&#xff08;Bruce Henderson&#xff09;于1970年代初提出的&#xff0c;它以两个关键指标作为分析维度&#xff1a;市场增长率和相对市场份额&#xff0c;…

探索k8s集群的配置资源(secret和configmap)

目录 ConfigMap ConfigMap&#xff08;主要是将配置目录或者文件挂载到k8s里面使用&#xff09; 与Secret类似&#xff0c;区别在于ConfigMap保存的是不需要加密配置的信息。&#xff08;例如&#xff1a;配置文件&#xff09; ConfigMap 功能在 Kubernetes1.2 版本中引入&…

过期视频怎么恢复?如何从手机、电脑和其他设备中恢复?

过期视频是指那些被误删、丢失或因系统升级等原因而无法正常访问的视频文件。这些视频可能包含了我们珍贵的回忆、重要的信息或者具有商业价值的内容。过期视频的恢复可以帮助我们找回失去的数据&#xff0c;减少损失&#xff0c;提高工作效率和生活质量。过期视频怎么恢复&…

Android WebView上传文件/自定义弹窗技术,附件的解决方案

安卓内核开发 其实是Android的webview默认是不支持<input type"file"/>文件上传的。现在的前端页面需要处理的是&#xff1a; 权限 文件路径AndroidManifest.xml <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/&g…

【AI基础】第二步:安装AI运行环境

开局一张图&#xff1a; 接下来按照从下往上的顺序来安装部署。 规则1 注意每个层级的安装版本&#xff0c;上层的版本由下层版本决定 比如CUDA的版本&#xff0c;需要看显卡安装了什么版本的驱动&#xff0c;然后CUDA的版本不能高于这个驱动的版本。 这个比较好理解&#xff…

毕业论文word常见问题

0、前言&#xff1a; 这里的问题都是以office办公软件当中的word为例&#xff0c;和WPS没有关系。 1、页眉横线删不掉&#xff1a; 解决方案&#xff1a;进入页眉编辑状态&#xff0c;在开始选项栏中选择页眉字体样式&#xff0c;清除格式。 修改方式如下&#xff1a; 2、…

Linux——简单指令汇总

Linux&#xff0c;一般指GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#xff08;Linus Benedict Torvalds&#xff09;于1991年10月5日首次发布&#xff0c;它主要受到Minix和Unix思想的启发&#xff0c;是一个…

C++ | Leetcode C++题解之第130题被围绕的区域

题目&#xff1a; 题解&#xff1a; class Solution { public:const int dx[4] {1, -1, 0, 0};const int dy[4] {0, 0, 1, -1};void solve(vector<vector<char>>& board) {int n board.size();if (n 0) {return;}int m board[0].size();queue<pair<…

C++类的继承与派生概念

派生和继承是自然界普遍存在的一种现象。例如&#xff0c;“猫”和“白猫”。当人们谈及“猫”时&#xff0c;知道它有4条腿&#xff0c;1条尾巴&#xff0c;抓老鼠,为哺乳动物。如谈论“白猫”时&#xff0c;它也是猫&#xff0c;只不过增加了一个新的特征&#xff0c;即它的毛…

Redis缓存(笔记二:Redis常用五大数据类型)

目录 1、Redis中String字符串 1.1 常用命令解释&#xff1a; 1.2 原子性 1.3 具有原子性的常用命令 1.4 String数据结构 1、Redis中String字符串 概念 String 是 Redis 最基本的类型&#xff0c;可以理解成与 Memcached 一模一样的类型&#xff0c;一个 key对应一个 value…

第100天:权限提升-数据库RedisPostgre第三方软件TV向日葵服务类

目录 思维导图 案例一: 数据库-Redis 数据库权限提升-计划任务 案例二: 数据库-PostgreSQL 数据库权限提升-漏洞 PostgreSQL 提权漏洞&#xff08;CVE-2018-1058&#xff09; PostgreSQL 高权限命令执行漏洞&#xff08;CVE-2019-9193&#xff09; 案例三: 三方应用-…

【数据结构与算法 经典例题】(C语言)反转链表图文详解

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法 经典例题》C语言 期待您的关注 ​ 目录 一、问题描述 二、解题思路分析 三、代码实现 一、问题描述 二、解题…

uniapp使用uQRCode页面不显示也不报错

我使用的版本是&#xff1a;4.0.6 引入到项目中后根据官方的配置教程进行配置&#xff1a; 但是页面上就是不显示&#xff0c;也不报错&#xff0c;看官网发现步骤也没问题 解决方法&#xff1a; 这句话代表的是uQrcode会被自动引用注册&#xff0c;但是你引过组件库或者别的…