使用这个组件时,只需要传入合适的chartData数组,就可以渲染一个折线图,并且响应数据变化。

<template>
<div ref="chart" style="height: 500px;"></div>
</template> <script lang="ts">
import { ref, onMounted, watch } from 'vue'
import * as echarts from 'echarts' export default {
props: {
chartData: {
type: Array as () => any[],
required: true
}
},
setup(props: { chartData: any[] }) {
// 初始化echarts实例
let chart = ref<echarts.EChartsType>(null) // 初始化chart
onMounted(() => {
let myChart = echarts.init(chart.value!)
setOption()
}) // 设置图表option
let setOption = () => {
chart.value!.setOption({
xAxis: {
type: 'category',
data: props.chartData.map(d => d.name)
},
yAxis: {
type: 'value'
},
series: [{
data: props.chartData.map(d => d.value),
type: 'line'
}]
})
} // 更新chart数据
let updateData = () => {
setOption()
} // 监听chartData变化,更新chart
watch(props.chartData, () => {
updateData()
}) return {
chart,
updateData
}
}
}
</script>
  • 接收props.chartData为一个对象数组
  • x轴和series的数据从chartData数组映射得来
  • 其他配置根据折线图设置
  • 数据更新时通过调用updateData更新图表

ai问答:使用 Vue3 组合式API 和 TS 封装 echarts 折线图的更多相关文章

  1. vue3组合式API

    vue3组合式API 为什么要用组合式API,我们来看看它是如何解决vue2的局限性的 1.vue2的局限性 当组件内容越来越多,逻辑越来越复杂,可读性就会降低,并且难以维护. vue2组件采用配置式 ...

  2. [Vue]浅谈Vue3组合式API带来的好处以及选项API的坏处

    前言 如果是经验不够多的同志在学习Vue的时候,在最开始会接触到Vue传统的方式(选项式API),后边会接触到Vue3的新方式 -- 组合式API.相信会有不少同志会陷入迷茫,因为我第一次听到新的名词 ...

  3. 解决WebStorm无法正确识别Vue3组合式API的问题

    1 问题描述 Vue3的组合式API无法在WebStorm中正确识别,表现为defineComponent等无法被识别: 2 尝试方案 猜想这种问题的原因是无法正确识别对应的Vue3库,笔者相信Web ...

  4. vue3组合式API介绍

    为什么要使用Composition API? 根据官方的说法,vue3.0的变化包括性能上的改进.更小的 bundle 体积.对 TypeScript 更好的支持.用于处理大规模用例的全新 API,全 ...

  5. Vue3 组合式 API 中获取 DOM 节点的问题

    模板引用 Vue 提供了许多指令让我们可以直接操作组件的模板.但是在某些情况下,我们仍然需要访问底层 DOM 元素.在模板中添加一个特殊的属性ref就可以得到该元素. 访问模板引用 <scrip ...

  6. 第三十五篇:vue3,(组合式api的初步理解)

    好家伙, 来一波核心概念:数据劫持是响应式的核心 1.由set up开始 (1)vue3中的一个新的配置项,值为一个函数. (2)组件中所用的到的:数据,方法,计算属性均要配置在set up中. (3 ...

  7. Vue3笔记(二)了解组合式API的应用与方法

    一.组合式API(Composition API)的介绍 官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html 组 ...

  8. 一篇文章讲明白vue3的script setup,拥抱组合式API!

    引言 vue3除了Composition API是一个亮点之外,尤大大又给我们带来了一个全新的玩意 -- script setup,对于setup大家相信都不陌生,而对于script setup有些同 ...

  9. Vue3全局APi解析-源码学习

    本文章共5314字,预计阅读时间5-15分钟. 前言 不知不觉Vue-next的版本已经来到了3.1.2,最近对照着源码学习Vue3的全局Api,边学习边整理了下来,希望可以和大家一起进步. 我们以官 ...

  10. arcgis api for js之echarts开源js库实现地图统计图分析

    前面写过一篇关于arcgis api for js实现地图统计图的,具体见:http://www.cnblogs.com/giserhome/p/6727593.html 那是基于dojo组件来实现图 ...

随机推荐

  1. 使用selemium被反爬解决方法

    使用selenium进行自动化的时候,如csdn登录时可能会遇到检测反爬,从而需要验证       1. 反爬 有时候,我们利用 Selenium 自动化爬取某些网站时,极有可能会遭遇反爬. 实际上, ...

  2. 关于UPD章节学习的一些感想

    课程看到了UDP, 首先了解UDP的原理模型. 服务端,首先是实例QUdpSocket,也就是UDP套接字,然后,需要绑定.绑定一个任意IP地址,分为IPV4和IPV6.自行选择课程中讲解时绑定的是I ...

  3. Vue2使用axios,request.js和vue.config.js

    1.配置request.js,用来请求数据 import axios from 'axios' // 1:利用axios对象的方法create,创建一个axios实例 // 2:request就是ax ...

  4. docker学习随笔

    总结自https://zhuanlan.zhihu.com/p/187505981 Linux内核提供了Namespace技术来隔离PID/IPC/网络资源等,还提供了Control Group(cg ...

  5. winform 防止奔溃重启

    static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...

  6. SpringBoot解决跨域方案

    SpringBoot解决跨域的几种方式 跨域资源共享(CORS):通过修改Http协议header的方式,实现跨域.说的简单点就是,通过设置HTTP的响应头信息,告知浏览器哪些情况在不符合同源策略的条 ...

  7. Javaweb学习笔记第十弹

    本章存在的意义,大概就是为了回顾一下被遗忘不久的html了 HTML:超文本标记语言(不区分大小写,语法较为松散,但建议书写时规范一些) HTML标签由浏览器来解析 标签展示图片 具体详情也可以去参考 ...

  8. 【2019CCPC秦皇岛:A】Angle Beats 分类讨论 (unordered_map 加 hash)

    题意:n个给定点,q个询问点,每次询问给出一个坐标A,问从n中选定两个点B,C,有多少种方案使得ABC是个直角三角形. 思路:直角三角形能想的就那几个,枚举边,枚举顶点,这个题都行,写的枚举顶点的,A ...

  9. 非常强大实用的键盘改键工具 - MapKeyboard

    MapKeyboard可以重新定义键盘上的键位,对于使用笔记本或非标准101键盘的用户来说,是一个很有用的键盘改键工具.当你重新定义完键位,改变将被明显的标注出来,即使重启也不会改变.它不需安装,也可 ...

  10. 一遍博客带你上手Servlet

    概念 Servlet其实就是Java提供的一门动态web资源开发技术.本质就是一个接口. 快速入门 创建web项目,导入servlet依赖坐标(注意依赖范围scope,是provided,只在编译和测 ...