改写若依框架中PieChart实现父与子之间的数据传递

news2024/11/26 10:29:25

若依框架中的PieChart

如下是若依(Ruoyi)框架中的PieChart.vue文件,该PieChart.vue无法实现组件间的值传递。到这里您不妨可以试试该如何去传值。如果您不想思考,请看改进后的PieChart。直接拿走使用!

<template>
  <div :class="className" :style="{height:height,width:width}" />
</template>

<script>
import * as echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from './mixins/resize'

export default {
  mixins: [resize],
  props: {
    className: {
      type: String,
      default: 'chart'
    },
    width: {
      type: String,
      default: '100%'
    },
    height: {
      type: String,
      default: '300px'
    }
  },
  data() {
    return {
      chart: null
    }
  },
  mounted() {
    this.$nextTick(() => {
      this.initChart()
    })
  },
  beforeDestroy() {
    if (!this.chart) {
      return
    }
    this.chart.dispose()
    this.chart = null
  },
  methods: {
    initChart() {
      this.chart = echarts.init(this.$el, 'macarons')

      this.chart.setOption({
        tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        legend: {
          left: 'center',
          bottom: '10',
          data: ['Industries', 'Technology', 'Forex', 'Gold', 'Forecasts']
        },
        series: [
          {
            name: 'WEEKLY WRITE ARTICLES',
            type: 'pie',
            roseType: 'radius',
            radius: [15, 95],
            center: ['50%', '38%'],
            data: [
              { value: 320, name: 'Industries' },
              { value: 240, name: 'Technology' },
              { value: 149, name: 'Forex' },
              { value: 100, name: 'Gold' },
              { value: 59, name: 'Forecasts' }
            ],
            animationEasing: 'cubicInOut',
            animationDuration: 2600
          }
        ]
      })
    }
  }
}
</script>

改进后的PieChart

如下是根据若依框架改写后的PieChart.vue文件,该PieChart.vue可实现组件间的值传递。

<template>
  <div :class="className" :style="{height:height,width:width}" />
</template>

<script>
import * as echarts from 'echarts';
require('echarts/theme/macarons') // echarts theme
import resize from './mixins/resize'

export default {
  mixins: [resize],
  props: {
    className: {
      type: String,
      default: 'chart'
    },
    width: {
      type: String,
      default: '100%'
    },
    height: {
      type: String,
      default: '300px'
    },
    //添加接受饼图数据的值
    pieChartData: {
      type: Object,
      required: true
    }
  },
  data() {
    return {
      chart: null
    }
  },
  //监听饼图数据
  watch: {
    pieChartData: {
      deep: true,
      handler(val) {
        this.setOptions(val)
      }
    }
  },
  mounted() {
    this.$nextTick(() => {
      this.initChart()
    })
  },
  beforeDestroy() {
    if (!this.chart) {
      return
    }
    this.chart.dispose()
    this.chart = null
  },
  methods: {
    initChart() {
      this.chart = echarts.init(this.$el, 'macarons')
        this.setOptions(this.pieChartData)
      },
      setOptions({ x_data, ratio_data} = {}) {
        this.chart.setOption({
          tooltip: {
            trigger: 'item',
            formatter: '{a} <br/>{b} : {c} ({d}%)'
          },
          legend: {
            left: 'center',
            bottom: '10',
            // data: ['皮带跑偏', '电机停机', '设备停电', '皮带卡死', '滚轮松动'],
            data: x_data, //这里是图例的值
            textStyle: {
              color: '#fff' // 设置图标文字颜色为白色
            }
          },
          series: [
            {
              label: {
                show: true,
                color: '#fff' // 设置series文字颜色为白色
              },
              name: 'WEEKLY WRITE ARTICLES',
              type: 'pie',
              roseType: 'radius',
              radius: [15, 95],
              center: ['50%', '38%'],
              // data: [
              //   { value: 320, name: '皮带跑偏' },
              //   { value: 240, name: '电机停机' },
              //   { value: 149, name: '设备停电' },
              //   { value: 100, name: '皮带卡死' },
              //   { value: 59, name: '滚轮松动' }
              // ],
              data: ratio_data, //你要替换的值
              animationEasing: 'cubicInOut',
              animationDuration: 2600
            }
          ]
        })
      }
    }
}
</script>

其他页面使用PieChart

如下是在若依框架的首页(index.vue)中使用PieChart文件。如下图是用:pie-chart-data绑定this.pieFalutChart实现了组件间的值传递。

自定义数据:

data中定义饼图数据pieFalutChart:

实际效果

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

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

相关文章

python使用watchdog监听文件变化并打包成docker镜像

文章目录 简介1.监听文件的代码2.获取依赖列表文件3.创建Dockerfile文件4.上传文件到服务器上5.构建容器并启动6.更新main.py代码操作 简介 最近用python帮公司写了一个监控目录下文件发生变化的插件&#xff0c;在打包成docker镜像的过程中出现了一些小问题&#xff0c;特意记…

循环冗余效验码的计算方法

循环冗余效验码的计算方法 G&#xff08;x&#xff09;&#xff1a; 在了解计算方法之前我们首先要明白G&#xff08;x&#xff09;表明的意思&#xff0c;这一步非常重要&#xff01; 例如&#xff0c;G&#xff08;x&#xff09; x^3 x^2 1 &#xff0c;该式子表明的编…

openwrt的overlay扩容,再也不用担心磁盘不足了!

overlay扩容 1.准备好磁盘&#xff0c;先进行分区&#xff0c;也可以部分去&#xff0c;然后格式&#xff08;可以使用windows的diskgenius格式化&#xff0c;需要知注意的是格式化为ext4格式&#xff09;也可以通过ssh登录后台&#xff0c;命令行使用mkfs.ext4 /dev/sda1的方…

使用Commons JXPath简化XML/JSON处理

第1章&#xff1a;引言 咱们都知道&#xff0c;在现代软件开发中&#xff0c;处理XML和JSON数据几乎是家常便饭。这两种格式广泛应用于配置文件、数据交换、API响应等领域。不过&#xff0c;要手动解析和操作它们&#xff0c;有时候真是让人头大。 当你面对一堆复杂的XML或JS…

jmeter之beanshell使用:常用变量汇总

1.变量--日期 使用场景&#xff1a;当入参日期是变量&#xff0c;取当前日期 使用如下&#xff1a; &#xff08;1&#xff09;当前日期 import java.text.SimpleDateFormat; import java.util.Date;// 创建 SimpleDateFormat 对象并指定日期格式 SimpleDateFormat dateFor…

【高性能篇】QPS概念、RT概念

什么是QPS&#xff0c;什么是RT&#xff1f; ✔️典型解析✔️扩展知识仓✔️RT ✔️QPS✔️ QPS和TPS✔️并发用户数✔️最佳线程数 ✔️典型解析 QPS&#xff0c;指的是系统每秒能处理的请求数(Query Per Second)&#xff0c;在Web应用中我们更关注的是Web应用每秒能处理的re…

一篇文章掌握 NestJS 所有的生命周期以及生命周期的执行时机

前言 NestJS 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架&#xff0c;它使用 TypeScript 作为开发语言&#xff0c;也支持原生的 JavaScript。在 NestJS 中&#xff0c;生命周期事件是一个重要的概念。在我们构建和管理应用程序时&#xff0c;有时需要在特定…

二、RK3588-安装Opencv-4.8.1(C++版本)

1.前言 OpenCV是一个跨平台的计算机视觉和机器学习软件库&#xff0c;基于Apache2.0许可&#xff08;开源&#xff09;发行。它可以在Linux、Windows、Android和Mac OS操作系统上运行。OpenCV由一系列C函数和少量C类构成&#xff0c;同时提供了Python、Ruby、MATLAB等语言的接口…

HALCON报错#2021:System clock has been set back 解决方案

如果操作系统修改过时间&#xff0c;再更新到正常的时间后&#xff0c;打开halcon可能会报错#2021&#xff1a;System clock has been set back. 解决方案&#xff1a; 1、联网同步Windows 系统时间。 2、检查以下目录中是否有超过当前时间的文件&#xff08;删除&#xff09…

Java2023

文章目录 DOS系统正则表达式原理对象和类IDEA快捷键单例设计模式final关键字final使用注意事项抽象类接口内部类局部内部类(有类名)匿名内部类(无类名)★★成员内部类静态内部类枚举类型的使用Annotation注解异常try-catchthrows自定义异常十三章 包装类String 类的常用方法…

Prometheus 14 点实践经验分享

这是 2017 年的 promcon 的分享&#xff0c;原文地址在这里&#xff0c;作者 Julius Volz&#xff0c;今天偶然看到&#xff0c;虽然已经过去 6 年&#xff0c;有些实践经验还是非常值得学习。做个意译&#xff0c;加入一些自己的理解&#xff0c;分享给大家。 埋点方面 1. 所…

腾讯经典面试题-如何做一个迷你版的微信抢红包呢?

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术&#x1f525;如果感觉博主的文章还不错的…

9个简单有效的用户需求分析方法,让你的产品更符合用户心理预期

作为一名互联网产品经理&#xff0c;需求分析是我们工作中最为重要的环节之一。正确地理解用户需求&#xff0c;为用户提供更好的产品体验&#xff0c;是我们的首要任务。以下是一些关于如何做好需求分析的建议&#xff0c;希望对大家有所帮助。 了解用户 在需求分析的过程中&a…

羊大师讲解,羊奶怎么加热才不容易破坏营养

羊大师讲解&#xff0c;羊奶怎么加热才不容易破坏营养 随着人们对健康饮食的重视&#xff0c;越来越多的人开始选择羊奶作为补充营养的饮品。在加热羊奶的过程中&#xff0c;如果方法不当&#xff0c;很容易造成营养价值的损失。那么&#xff0c;如何加热羊奶才能最大程度地保…

腾讯云轻量应用服务器性能差吗?

腾讯云轻量应用服务器性能如何&#xff1f;轻量服务器CPU采用什么型号&#xff1f;处理器计算性能如何&#xff1f;轻量应用服务器会不会比云服务器CVM性能差&#xff1f;腾讯云服务器网txyfwq.com详解轻量CPU型号主频、处理器性能、内存、公网带宽、月流量、不同地域速度测试、…

共享单车之租赁需求预估

文章目录 第1关&#xff1a;数据探索与可视化第2关&#xff1a;特征工程第3关&#xff1a;租赁需求预估 第1关&#xff1a;数据探索与可视化 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 读取数据 数据探索与可视化 读取数据 数据保存在./step1/bike_train…

Gooxi受邀出席操作系统与AI技术应用实践沙龙·OC城市行·深圳站活动

2023年是大模型元年&#xff0c;国内诸多AI、互联网公司争先恐后加码投入“练模”。AI产业快速发展行业高速运转&#xff0c;业内人称这是继蒸汽机、计算机之后开启新一轮科技革命的技术。但AI大模型是一个资本密集、人才密集和数据密集的产业&#xff0c;如何促进AI大模型落地…

Java之程序、进程、线程、管程和并发、并行的概念

文章目录 1. 进程与线程1.1 程序1.2 进程1.3 线程1.4 管程 2.并行与并发2.1 并发2.2 并行 1. 进程与线程 1.1 程序 程序是指令和数据的有序集合&#xff0c;其本身没有任何运行的含义&#xff0c;是一个静态的概念。简单的说就是我们写的代码。 1.2 进程 &#xff08;1&…

05-认证服务中多种认证方式的实现

多种认证方式 统一认证入口 目前各大网站支持账号密码认证、手机验证码认证、扫码登录认证等多种认证方式,Spring Security框架也支持多样化的认证方案 账号和密码认证: 采用OAuth2协议的密码模式即可实现手机号加验证码认证: 用户认证提交的是手机号和验证码并不是账号和密…

软件测试/测试开发丨Windows Appium环境搭建

windows 版本 Appium 环境搭建 安装 nodejs 下载.msi文件 https://nodejs.org/en/download/ 注意&#xff1a; 1、下载12.*版本双击安装即可。 2、无须配置环境变量,直接重启一个 cmd 输入下面的命令&#xff0c;能够查看这两个版本号即安装成功。 安装 appium desktop 直…