微信小程序使用echarts动态获取数据

Number2 echarts动态获取数据

继续上一篇,结合echarts动态获取数据
官方提供了一个微信与echarts相结合的数据,里面就是简单的各种工具,数据获取没有进行动态绑定,各种搜索资料最后编写了一个动态获取数据的方法
这里以官方示例pie做改造
1.index.js

import * as echarts from '../../ec-canvas/echarts';

const app = getApp();
function setOption(chart,piedata){
  var option = {
    backgroundColor: "#ffffff",
    series: [{
      label: {
        normal: {
          fontSize: 14
        }
      },
      type: 'pie',
      center: ['50%', '50%'],
      radius: ['20%', '40%'],
      data: piedata
    }]
  };

  chart.setOption(option);
  return chart;
}

Page({
  data: {
    ec: {
      //onInit: initChart
         // 将 lazyLoad 设为 true 后,需要手动初始化图表
         lazyLoad: true
    }
  },
  initpie:function(piedata){
    let ecComponent = this.selectComponent('#mychart-dom-pie');
    ecComponent.init((canvas, width, height, dpr) => {
      // 获取组件的 canvas、width、height 后的回调函数
      // 在这里初始化图表
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr // new
      });
      //调用设定EChart报表状态的函数,并且把从后端拿到的数据传过去
      setOption(chart,piedata);
      // 注意这里一定要返回 chart 实例,否则会影响事件处理等
      return chart;
    });
  },
  onReady() {
  },
  onLoad: function (options) {
    var piedata = [{
      value: 55,
      name: '北京'
    }, {
      value: 20,
      name: '武汉'
    }, {
      value: 10,
      name: '杭州'
    }, {
      value: 20,
      name: '广州'
    }, {
      value: 38,
      name: '上海'
    }];
   this.initpie(piedata);
  }
});

2、index.json

{
  "usingComponents": {
    "ec-canvas": "../../ec-canvas/ec-canvas"
  }
}

3、index.wxml

<!--index.wxml-->
<view class="container">
  <ec-canvas id="mychart-dom-pie" canvas-id="mychart-pie" ec="{{ ec }}"></ec-canvas>
</view>

4、index.wxss

/**index.wxss**/
ec-canvas {
  width: 100%;
  height: 100%;
}

注意这里虽然只有ec-canvas的样式设置,但是需要在ec-canvas外面包裹<view>标签,并设置宽以及高,要不然图表不会显示,就跟jsp引用echarts
代码示例放在https://download.csdn.net/download/dongyang1124/85110432

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
uexam学之思在线考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。目前支持web端和微信小程序,能覆盖到pc机和手机等设备。 开源版使用须知 仅用个人学习 禁止将本项目的代码和资源进行任何形式的出售,产生的一切任何后果责任由侵权者自负 学生系统功能: 登录、注册:注册时要选年级,过滤不同年级的试卷, 账号为student/123456 首页:任务中心、固定试卷、时段试卷、可以能做的一部分试卷 试卷中心:包含了所有能做的试卷,按学科来过滤和分页 考试记录:所有的试卷考试记录在此处分页,可以查看试卷结果、用时、得分、自行批改等 错题本:所有做错的题目,可以看到做题的结果、分数、难度、解析、正确答案等 个人中心:个人日志记录 消息:消息通知 试卷答题和试卷查看:展示出题目的基本信息和需要填写的内容 管理系统功能: 登录:账号为 admin/123456 主页:包含了试卷、题目、做卷数、做题数、用户活跃度的统计功能,活跃度和做题数是按月统计 用户管理:对不同角色 学生、教师、管理员 的增删改查管理功能 卷题管理: 试卷列表:试卷的增删改查,新增包含选择学科、试卷类型、试卷名称、考试时间,试卷内容包含添加大标题,然后添加题目到此试卷中,组成一套完整的试卷 题目列表:题目的增删改查,目前题型包含单选题、多选题、判断题、填空题、简单题,支持图片、公式等。 教育管理:对不同年级的学科进行增删改查 消息中心:可以对多个用户进行消息发送 日志中心:用户的基本操作进行日志记录,了解用户使用过情况 小程序功能: 用户登录登出功能,登录会自动绑定微信账号,登出会解绑 首页包含任务中心、固定试卷、时段试卷,和web端保持一致 试卷模块,固定试卷和时段试卷的分页查询,下拉加载更多,上拉刷新当前数据 记录模块,考试结果的分页,包含了试卷基本信息 我的模块,包含个人资料的修改,个人动态,消息中心模块 技术栈列表 后台系统: spring-boot 2.1.6.RELEASE spring-boot-security 用户登录验证 undertow web容器 postgresql/mysql 优秀的开源数据库 redis 缓存,提升系统性能 mybatis 数据库中间件 hikari 速度最快的数据库连接池 七牛云存储 目前10G内免费 前台系统: Vue.js 采用新版,使用了vue-cli3搭建的系统,减少大量配置文件 element-ui 最流行的vue组件,采用的最新版 vue-element-admin 最新版,对该系统做了大量精简,只保留了部分样式和控件 echarts 图表统计 ueditor 填空题扩展插件 微信小程序: iView 主题样式 使用教程: 1、redis 安装 2、进群获取到数据库脚本,创建表初始化数据 3、/uexam/source/xzs为后台代码,建议使用IntelliJ IDEA打开,在application-dev.yml文件中,配置好postgesql/mysql、redis的服务地址,打开XzsApplication文件编译运行,默认端口为8000。 4、学生系统地址:http://localhost:8000/student 5、管理端地址:http://localhost:8000/admin   uexam学之思在线考试系统 更新日志: v3.3.0 1.新增成绩管理功能,管理系统中可查看所有学生考试成绩 2.修复单选题,选项情况无法新增选项的bug 3.文档新增数据库设计 4.前端组件更新 5.移除lombok插件,减少依赖

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值