echarts 被封装后多次复用,图表被覆盖,解决方法

news/2024/11/25 13:09:52/

场景:为了方便样式统一,封装了一个盒子,其中包含echarts,option是从父组件传来的

问题: 多个父级页面使用这个盒子后,发现只有第一个盒子展示图表,但展示的是最后一个图片的样式,其他都空白

解决方法: 将原本id或class选择器改为ref方式,代码如下

// 原来
var myChart = echarts.getInstanceByDom(document.getElementById('myChart'));
// 改成
var myChart = echarts.getInstanceByDom(this.$refs.myChart);

 整体代码如下: 

<!--* @Description: 图表
-->
<template><div class="Chart"><div class="titleBox"><div class="text">{{ formData.label }}<span>{{ formData.value }}</span><svg-icon icon-class="lock" /><svg-iconicon-class="download"@click="downloadImg"/></div></div><divref="myChart"id="myChart"/><slot /></div>
</template><script>
import * as echarts from 'echarts';
import { downloadEchartsImg } from "@/utils/tools";export default {name: 'StackedLine',props: {formData: {type: Object,required: true},option: {type: Object,default: () => {}}},data() {return {open: false,}},mounted() {var myChart = echarts.init(this.$refs.myChart);window.addEventListener('resize', myChart.resize)setTimeout(() => {myChart.resize()myChart.setOption(this.option, true)});},methods: {/*** 下载图片*/downloadImg() {var myChart = echarts.getInstanceByDom(this.$refs.myChart);downloadEchartsImg(myChart)}}
}
</script>

 


http://www.ppmy.cn/news/95452.html

相关文章

consul命令总结

1. consul members -http-addrxxxxx 查看指定地址consul集群的所有节点 举例&#xff1a;查看地址192.168.5.47上consul集群的所有consul节点 如下图&#xff0c;该集群一共有三个节点 2. consul info -http-addrxxxxx 查看指定地址consul集群的详细信息 举例&#xff1a;查看…

【SDP协议】

SDP 1.概念2术语2.1 SERVICE ATTRIBUTE2.3 UUID 3 数据表示3.2 hci log4.4.4.3 PARTIAL RESPONSES AND CONTINUATION STATE4.4.4.4 ERROR HANDLING4.4.4.5 SERVICE SEARCH TRANSACTION4.4.4.6 SERVICE ATTRIBUTE TRANSACTION4.4.4.3 SERVICE SEARCH ATTRIBUTE TRANSACTION4.4.4…

Django JWT验证

什么是JSON Web Token&#xff08;JWT&#xff09;&#xff1f; JSON Web Token&#xff0c;简称JWT&#xff0c;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络上传输信息&#xff0c;特别是在身份验证和授权方面。JWT是一串编码后的JSON格式字符串&…

C++数据结构:Python风格双向链表Pylist的实现

文章目录 前言一、目的二、代码详解1、Node类模板2、Pylist类构造3、内嵌迭代器4、Python风格insert方法5、Python风格append方法6、Python风格[]下标操作方法7、Python风格、 方法8、Python风格pop方法9、Python风格remove方法10、length、get方法 三、使用示例总结原创文章&a…

什么是web3 | 区块链web3.0人才

文章目录 一、Web31. 什么是web3&#xff1f;2. web3的dapp架构 二、区块链web3.0人才1. 区块链开发技术栈2. 欧易对人才的要求3. 如何成为一名合格的智能合约高级工程师4. web3各个赛道5. 链上数据分析师6. 一些案例 三、参考 一、Web3 1. 什么是web3&#xff1f; 20世纪90年…

Ubuntu下ESP-IDF的环境搭建

目录 1. 前期准备2. 安装ESP-IDF和esp-tools3. 下载子模块和工具链4. 编译HelloWorld工程 1. 前期准备 更新源 sudo apt-get update –y安装相关依赖 sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache lib…

调用华为API实现身份证识别

调用华为API实现身份证识别 1、作者介绍2、调用华为API实现身份证识别2.1 算法介绍2.1.1OCR简介2.1.2身份证识别原理2.1.3身份证识别应用场景 2.2 调用华为API流程 3、代码实现3.1安装相关的包3.2代码复现3.3实验结果 1、作者介绍 雷千龙&#xff0c;男&#xff0c;西安工程大…

JavaScript 进阶 (一)

目录 作用域 局部作用域 函数作用域 块作用域 全局作用域 作用域链 JS垃圾回收机制 闭包 变量提升 函数进阶 函数提升 函数参数 箭头函数 基本语法 箭头函数参数 箭头函数this 解构赋值 数组解构 对象解构 遍历数组 forEach 方法&#xff08;重点&#xff09; …