uniapp H5项目使用ucharts的Echart组件方式创建圆环

2023-12-19

问题:没有报错但是图表不出来

调试了半天圆环图表没有不出来。是因为没有明示设置宽度与高度

/* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
.charts-box {
width: 100%;
height: 300px;
}

最终效果

先导入ucharts到项目

uniapp的项目导入参考: uniapp 导入ucharts图表插件 H5项目, 使用echarts eopts配置-CSDN博客

导入之后创建下面的ringEchart.vue

源码:

<template>
  <view className="charts-box">
    <u-gap height="30" bg-color="#bfc"></u-gap>
    <view class="charts-box">
      <!-- 演示动态改变eopts -->
      <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2"
                        :echartsH5="true" :echartsApp="true"/>
    </view>

    <u-gap height="30" bg-color="#bfc"></u-gap>
    <view class="charts-box">
      <qiun-data-charts type="ring" :chartData="Ring2" :echartsH5="true" :echartsApp="true"
                        background="none" :eopts="eopts2"/>
    </view>

    <u-button @click="resetData">TEST</u-button>
  </view>
</template>

<script>
import UGap from "@/uview-ui/components/u-gap/u-gap.vue";
import UButton from "@/uview-ui/components/u-button/u-button.vue";

export default {
  components: {UButton, UGap},
  data() {
    return {
      ringOpts: {
        color: ['#FF00FF', '#AAFF11'],
        legend: {show: false}
      },
      chartsDataPie2: {},
      eopts2: {
        tooltip: {
          trigger: 'item'
        },
        extra: {
          pie: {
            offsetAngle: -45,
            ringWidth: 100,
            labelWidth: 15
          }
        },
        legend: {
          top: '5%',
          left: 'center'
        }
      },
      Ring2: {
        series: [
          {
            name: 'Access From',
            // type: 'pie',
            radius: ['40%', '70%'],
            avoidLabelOverlap: false,
            label: {
              show: false,
              position: 'center'
            },
            emphasis: {
              label: {
                show: true,
                fontSize: 40,
                fontWeight: 'bold'
              }
            },
            labelLine: {
              show: false
            },
            data: [
              {value: 1048, name: 'Search Engine'},
              {value: 735, name: 'Direct'},
              {value: 580, name: 'Email'},
              {value: 484, name: 'Union Ads'},
              {value: 300, name: 'Video Ads'}
            ]
          }
        ]
      },
    };
  },
  onLoad() {
    console.log('|--onLoad')
  },
  onReady() {
    setTimeout(() => {
      //1. 获取数据
      this.getServerData();
    }, 1000);

  },
  mounted() {
    console.log('|--mounted')
    this.getServerData();
  },
  methods: {
    resetData() {
      this.Ring2 = {
        series: [
          {
            name: 'Access From',
            // type: 'pie',
            radius: ['40%', '70%'],
            avoidLabelOverlap: false,
            label: {
              show: false,
              position: 'center'
            },
            emphasis: {
              label: {
                show: true,
                fontSize: 40,
                fontWeight: 'bold'
              }
            },
            labelLine: {
              show: false
            },
            data: [
              {value: 1048, name: 'Search Engine'},
              {value: 735, name: 'Direct'},
              {value: 580, name: 'Email'},
              {value: 484, name: 'Union Ads'},
              {value: 300, name: 'Video Ads'}
            ]
          }
        ]
      }
      this.eopts2.series = this.Ring2
      console.log(this.Ring2)
    },
    getServerData() {
      //模拟从服务器获取数据时的延时
      let PieA = {
        "series": [{
          "data": [
            {
              "name": "一班",
              "value": 50
            }, {
              "name": "二班",
              "value": 30
            }, {
              "name": "三班",
              "value": 20
            }, {
              "name": "四班",
              "value": 18
            }, {
              "name": "五班",
              "value": 8
            }
          ]
        }]
      }
      // this.chartsDataPie2 = JSON.parse(JSON.stringify(PieA))
      this.chartsDataPie2 = {  "series": [{
          "data": [
            {
              "name": "一班",
              "value": 50
            }, {
              "name": "二班",
              "value": 30
            }, {
              "name": "三班",
              "value": 20
            }, {
              "name": "四班",
              "value": 18
            }, {
              "name": "五班",
              "value": 8
            }
          ]
        }]}

   
    },
  }
};
</script>

<style scoped>
/* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
.charts-box {
  width: 100%;
  height: 300px;
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uniapp H5项目使用ucharts的Echart组件方式创建圆环 的相关文章

  • 如何在 Nuxt.js 中设置 beforeResolve 导航防护

    有没有办法在 nuxt config js 中添加 beforeResolve 导航防护 我的 nuxt config js module exports router beforeResolve to from next if this
  • 如何基于Vuetify创建自己的组件库

    我想基于 Vuetify 创建我的组件库并在 npm 上发布 Vuetify 已经有 vue plugin 标准安装并使用 vuetify loader 我认为这是一个比纯 HTML 组件更复杂的场景 例如 我想创建我的登录表单 my 文章
  • 使用 v-bind Vue.js 的多个变量

    我试图在以下代码中传递多个变量 div div 但我收到以下错误 Vue warn 无法生成渲染函数 SyntaxError 意外的标记 在 我尝试更换 with a 但我得到 Vue warn 无法生成渲染函数 SyntaxError I
  • 根据条件添加 vue 指令

    是否可以根据条件设置指令 我有一个 粘性 指令来使元素粘在屏幕上 我有一个正在使用的社交分享组件
  • 我需要从带有数据页的页面在组件中运行函数

    我有一个用于绘制图形或树的组件 并且我在页面中使用此组件 我的 axios 在页面上并提供数据 我需要将数据传递给组件的函数 然后从页面数据中绘制我的树 My Page
  • 使用 Vuex 更新数组中的对象[重复]

    这个问题在这里已经有答案了 如何使用 Vuex 更新数组内的对象 我尝试了这个 但没有成功 const state categories mutations mutationType UPDATE CATEGORY state id cat
  • 在 Vue.js 中,如何防止子路由的导航?

    好的一点是beforeRouteLeave是你可以防止在某些情况下导航离开 我有一个使用子路由来渲染页面的一部分的设置 我希望在子路线上设置一个导航守卫 以防止在未保存数据的情况下切换到另一条路线 path customers view c
  • 超出最大调用堆栈大小 - Vue.js

    我有一个计算方法 可以让我计算产品的总价和折扣值 并希望获得以下值 总计 折扣 cartTotal var total 0 var discount Math round 0 1 this cartTotal 100 100 this ca
  • 如何使用 VueJS router-link 活动样式

    我的页面当前有 Navigation vue 组件 我想让每个导航悬停并处于活动状态 这hover有效但是active没有 这是 Navigation vue 文件的样子
  • Vue Chart.js - 数据变化时图表不更新

    我正在使用 Vue js 和 Chart js 绘制一些图表 每次我调用该函数时generateChart 图表不会自动更新 当我在 Vue Devtools 中检查数据时 它们是正确的 但图表没有反映数据 但是 当我调整窗口大小时 图表确
  • #NUXT.JS 中常用组件方法的存储位置

    实际上我想知道 NUXT JS 中常见组件方法的存储位置 我尝试过的事情 gt 在中间件中存储公共代码 它没用 因为据我所知 中间件只能处理对服务器的请求和响应 methods states methods SwitchManager fu
  • 使用Vue组件渲染函数时无限循环

    我正在使用 Vue 组件来渲染一些表头 如下所示 render createElement return createElement div class header Array apply null length this initHou
  • 仅当内容超过两行时显示只读/隐藏按钮

    我正在创建一个评论部分 类似于 youtube 的东西 并且我希望能够在 content 有多行时显示阅读更多 隐藏按钮 这就是我到目前为止所做的 我的阅读更多 隐藏按钮可以工作 因为我添加了一个计算的线夹 使内容仅在存在多行时才显示两行
  • Vue 3:“defineProps”引用本地声明的变量

    为什么我收到警告错误消息 defineProps引用本地声明的变量 eslint vue valid define props 当我在 props 中使用自定义验证器时SFC
  • 未捕获的类型错误:emit 不是 vue3 中的函数

    当我在 vue 3 设置代码块中编写此代码以获取输入值时 请遵循此answer https stackoverflow com questions 66737918 how to use v model on component in vu
  • 如何在 vue.js 中使用 SVG.js 插件?

    我在用svg js在我的 Laravel 项目中运行vue js 这就是我使用的方式svg js Step 1 安装svg js作为我的 vue 应用程序中的插件 import svgJs from svg js dist svg expo
  • Vuejs - 如何使用 v-for 获取数组中的所有唯一值(删除重复项)

    如何只显示一个按钮distinct date 我可以使用两个 v for 循环吗 如何选择distinct我的循环中的值 div div
  • 访问 .js 文件中的 Nuxt 插件

    假设我有一个脚本文件 foo js function doStuff how to access store and other plugins here export default doStuff 如果不将调用组件作为参数传递 我如何访
  • Vuex store.watch 只接受 Vue routerguard 中的函数

    我正在尝试观察并等待 Vue 路由器防护从 Vuex 获取最终值 但它会抛出异常 vuex store watch 只接受一个函数 这是代码 const isAdmin get store getters user isAdmin unde
  • 如何将函数导入到Vue组件中?

    我正在尝试将单个函数导入到我的 Vue 组件中 我为我的函数创建了一个单独的 js 文件 randomId js exports randomId gt My function 在我的 Vue 组件中 我导入了 Random js let

随机推荐

  • 【Proteus仿真】【Arduino单片机】视力保护仪

    文章目录 一 功能简介 二 软件设计 三 实验现象 联系作者 一 功能简介 本项目使用Proteus8仿真Arduino单片机控制器 使LCD1602液晶 DS18B20温度传感器 按键 蜂鸣器 继电器开关 HC05蓝牙模块等 主要功能 系
  • @rollup/plugin-html 详解

    rollup plugin html 是 Rollup 的一个插件 用于生成 HTML 文件 并将打包后的 JS 文件引入到 HTML 文件中 该插件的配置选项如下 fileName 指定生成的 HTML 文件的文件名 默认为 index
  • 扬帆证券:如何投资股票市场?

    怎么出资股票商场 1 选择公司基本面比较强 盈余安稳的公司个股 上市公司较好的基本面会使商场资金逐渐注重 出资者增多 流入资金增多 带动个股上涨 公司的经营成绩较为安稳 商场震动也不会对它们形成过大冲击 在长期的商场趋势下 出资者可以获得较
  • 灰盒测试简要指南

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • uniapp 导入ucharts图表插件 H5项目, 使用echarts eopts配置

    先下载ucharts H5示例源码 uCharts 高性能跨平台图表库 支持H5 APP 小程序 微信小程序 支付宝小程序 钉钉小程序 百度小程序 头条小程序 QQ小程序 快手小程序 360小程序 Vue Taro等更多支持canvas的框
  • Linux操作系统基础

    Linux是一个强大的操作系统 广泛用于服务器 桌面电脑 移动设备和嵌入式系统 作为信息安全高级工程师 掌握Linux的基本操作至关重要 下面将详细介绍Linux的基本概念和命令 Linux操作系统目录结构 Linux有一个标准的文件系统层
  • UI 易用性测试 以及自动化实现!

    GUI 是指图形用户界面 UI 是指用户界面 对于纯软件系统 这两者没有本质的区别 GUI易用性测试与 UI 易用性测试内容一致 但是如果测试的对象是一个产品 这两者则存在区别 对于产品 UI 则不仅仅包括 GUI 还包括产品硬件部分的测试
  • 2.[BUU]rip

    1 检查文件 checksec 一下 查看之后发现是64位 直接放入IDA64进行反编译 2 IDA反编译 进行分析 发现是gets 函数可以造成栈溢出 从而可以覆盖栈上的内容 想法 通过gets函数 栈溢出 来篡改栈上的内容指令 从而达到
  • 网络安全日报 2023年12月19日

    1 谷歌Chrome测试新的跟踪保护可阻止第三方Cookie https blog google products chrome privacy sandbox tracking protection Google 周四宣布将开始测试一项名
  • 能够图片转word工具推荐哪一个?这些一定要试试看

    临近年末 公司上下都在为了年末盘点而忙到飞起 大家都被分配到满满的任务 我也不例外 老板交代让我把一些图片文件整理成电子文档 方便后续内容的编辑和修改 本来工作就多 加上老板的任务要得急 我也没想那么多 直接就把老板发过来的图片资料全部一股
  • 测试编排效率提升:掌握前置接口响应数据的引用方法

    宁波银行深圳分行综合柜员面经 三方寄过去了 告诉我停止24届招聘 全部毁约 牛的 he芯 毁约应届生 34316 地产投资岗上岸啦 经验分享 江西农发行市级支行信贷岗面试 最终还是搏了一把 2023届CV视觉算法岗求职记录贴 规划指南 实习
  • 计算机SSM毕设选题 在线音乐网站系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 系统开发流程
  • Redis HyperLogLog:数据统计的轻量级解决方案

    引言 在现代数据驱动的应用中 Redis 以其出色的性能和灵活性成为了不可或缺的工具 特别是在统计大量数据时 传统的计数方法往往既耗时又占用大量存储空间 这次 阿七将介绍一种名为 HyperLogLog 的算法 它在 Redis 中的实现让
  • “最美中国女生”——AI绘画还没上车的有难了!!!

    废话少说 先上图 前段时间 ChatGPT生成了一张自诩为 最美的中国女生 虽然审美是主观的 但不可否认 图片的客观美 不过 你不会还只是看到图片里的美女 肤浅地欣赏高颜值吧 别人都已经透过现象看本质 赶上新浪潮 get新技能了 好 进入正
  • 底层的“原始码农”注定会被ChatGPT取代!

    抓不住AI的风口 你就等着被淘汰吧 绝对不是危言耸听 时代车轮滚滚向向前 没有跟上节奏 等你回过神来 才发现时代已经换新篇 掂量掂量自己的斤两 不禁倒吸一口凉气 想想 取代 二字是何其刺耳又真实 遇到问题解决问题 那么 如何拥有不可替代性成
  • 计算机网络基础 走入计算机行业的重中之重

    计算机网络是指将地理位置不同的 功能独立的多台计算机通过通信线路连接起来 以功能完善的网络软件支撑 实现资源共享和信息传递的系统 对于信息安全高级工程师来说 理解计算机网络的基本原理是至关重要的 下面我们将逐一解析计算机网络的核心概念 网络
  • CCF编程能力等级认证GESP—C++5级—样题1

    CCF编程能力等级认证GESP C 1级 样题1 单选题 每题 2 分 共 30 分 判断题 每题 2 分 共 20 分 编程题 每题 25 分 共 50 分 小杨的锻炼 小杨的队列 参考答案 单选题
  • 【网络安全】—Shell编程入门(1)

    Shell编程入门 Shell 是 Unix Linux 操作系统下的一种命令行解释器 它接收用户输入的命令然后调用相应的程序 我们可以通过 Shell 脚本来自动执行一系列的命令 接下来 我们将详细介绍 Shell 编程的基本概念和技能
  • 新入门IT行业想学编程?你可以选Python!

    最近有不少新入门IT行业的同学问小编 Python是什么 所以 小编给大家准备好了一份Python学习攻略 我们一起来看一下吧 01 Python是什么 Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于199
  • uniapp H5项目使用ucharts的Echart组件方式创建圆环

    问题 没有报错但是图表不出来 调试了半天圆环图表没有不出来 是因为没有明示设置宽度与高度 请根据实际需求修改父元素尺寸 组件自动识别宽高 charts box width 100 height 300px 最终效果 先导入ucharts到项