iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在微信小程序中使用ECharts实现动态刷新
  • 549
分享到

怎么在微信小程序中使用ECharts实现动态刷新

2023-06-14 23:06:51 549人浏览 泡泡鱼
摘要

怎么在微信小程序中使用ECharts实现动态刷新?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法实例首先到ECharts官网下载它的例子,然后把ec-canvas文件拷贝

怎么在微信小程序中使用ECharts实现动态刷新?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

方法实例

首先到ECharts官网下载它的例子,然后把ec-canvas文件拷贝下来放到你自己的项目中:

怎么在微信小程序中使用ECharts实现动态刷新

然后在你需要用的页面引入,在xxx.JSON中加入,这里要注意路径,我的页面统一是放在pages文件夹中的:

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

Ok,开始干正事了,我这里就举一个页面两个图表的例子,先把简单的布局和样式弄好

xxx.wxml:

需要提供两个canvas盒子:

<view class="content">    <ec-canvas id="mychart-one" canvas-id="mychart-multi-one" ec="{{ ecOne}}"></ec-canvas>    <ec-canvas id="mychart-two" canvas-id="mychart-multi-two" ec="{{ ecTwo }}"></ec-canvas></view>

xxx.wxss:

.content {    width: 100%;    background-color: #F2F2F2;    overflow-y: auto;}#mychart-one {    position: absolute;     top: 0;    height: 50%;    left: 0;    right: 0;}#mychart-two {    position: absolute;     top: 50%;    height: 50%;    left: 0;    right: 0;}

这里值得注意的是,如果你想放三个图表,四个图表或者多个,一定要设canvas盒子的高度,要不然你会发现后面两个表咋不见了!!官方的多个图表没有设高度,所以我照官方的放了几个图,发现都没有,心累,找了半天,才发现是样式问题,索性每个盒子都设了50%的高度。

好了,准备条件都做足,接下来就是重头戏了,(其实我觉得我写的好繁琐,全是重复的代码,不过暂时也没时间整合了,有兴趣的朋友可以自己写方法整合一下啦)

xx.js

首先肯定就是要在页面最开始引入那个官方的组件了

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

先将表格要展示的样式配置之类的设好

function setOption(chart, xdata, ydata) {    const option = {        title: {            text: '测试',            padding: [10, 0, 0, 20],            textStyle: {                fontSize: 14,                color: '#696969'            },            top: '10rpx'        },        backgroundColor: "#fff",        color: ["#006EFF", "#67E0E3", "#9FE6B8"],        animation: false,        grid: {            show: false        },        xAxis: {            type: 'cateGory',            data: xdata,      //x轴上的数据是动态的,所以我作为参数传进来            axisLabel: {                interval: 5,   //x轴间隔多少显示刻度                fORMatter: function (value) {   //显示时间                    var date = new Date(value * 1000);                    var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';                    var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());                    return h + m                },                fontSize: 8            }        },        yAxis: {            x: 'center',            scale: true,            type: 'value',            axisLabel: {                formatter: function (value) {                var val = value / 1000000000 + 'G';                    return val                }            }        },        series: [{            type: 'line',            data: ydata,    //y轴上的数据也是动态的,也作为参数传进来            symbol: 'none',            lineStyle: {                width: 1            }        }]    };    chart.setOption(option)}

写page的一些方法

Page({    data: {        ecOne: {            lazyLoad: true        },        ecTwo: {            lazyLoad: true        },        timer:''                 //因为我要实时刷新,所以设置了个定时器    },    onLoad: function (options) {        var _this = this;        this.getOneOption();        this.getTwoOption();        this.setData({                    //每隔一分钟刷新一次            timer: setInterval(function () {                    _this.getOneOption();                    _this.getTwoOption();                }, 60000)        })    },    onReady: function () {               //这一步是一定要注意的        this.oneComponent = this.selectComponent('#mychart-one');          this.twoComponent = this.selectComponent('#mychart-two');    },    onUnload: function () {        clearInterval(this.data.timer)    },    init_one: function (xdata, ydata) {           //初始化第一个图表        this.oneComponent.init((canvas, width, height) => {            const chart = echarts.init(canvas, null, {                width: width,                height: height            });            setOption(chart, xdata, ydata)            this.chart = chart;            return chart;        });    },    init_two: function (xdata, ydata) {        //初始化第二个图表        this.storagemaxComponent.init((canvas, width, height) => {            const chart = echarts.init(canvas, null, {                width: width,                height: height            });            setOption(chart, xdata, ydata)            this.chart = chart;            return chart;        });    },    getOneOption: function () {        //这一步其实就要给图表加上数据        var _this = this;        wx.request({            url: 'https://xxxxxxx.com',    //你请求数据的接口地址            method: 'POST',            header: {                "Content-Type": "application/json"            },            data: {               //传的参数,这些都不用多说了吧                id:xxxx            },            success:function(res){     //我这里就假设res.xdata和res.ydata是我们需要的数据,即在x轴和y轴展示的数据,记住一定是数组哦!                _this.init_one(res.xdata,res.ydata)            }        })      },    //第二个图表也是一样的处理    getTwoOption: function (){          var _this = this;        wx.request({            url: 'Https://xxxxxxx.com',    //你请求数据的接口地址            method: 'POST',            header: {                "Content-Type": "application/json"            },            data: {                       //传的参数,这些都不用多说了吧                id:xxxx            },            success:function(res){                _this.init_two(res.xdata,res.ydata)            }        })      }})

关于怎么在微信小程序中使用ECharts实现动态刷新问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 怎么在微信小程序中使用ECharts实现动态刷新

本文链接: https://www.lsjlt.com/news/275905.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在微信小程序中使用ECharts实现动态刷新
    怎么在微信小程序中使用ECharts实现动态刷新?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法实例首先到ECharts官网下载它的例子,然后把ec-canvas文件拷贝...
    99+
    2023-06-14
  • 微信小程序+ECharts实现动态刷新的过程记录
    前言 最近遇到了一个需求,就是要在小程序中实时刷新图表,最开始选择的是wx-chart,然后发现不能满足我的需求,最后选择了ECharts,也踩了一些坑,通过在网上收集资料,终于弄出...
    99+
    2024-04-02
  • 微信小程序页面怎么实时刷新
    微信小程序页面实时刷新的案例:在wxml文件中插入view标签并绑定变量。<view class="num"><view>{{num}}</view></view>...
    99+
    2024-04-02
  • 微信小程序实现下拉刷新效果
    微信小程序实现下拉刷新效果微信小程序作为一种轻量级的移动应用开发平台,近年来在移动应用行业得到了广泛的应用和发展。下拉刷新是常见的交互效果,可以在列表页面中,当用户下拉页面时自动刷新内容,提升用户体验和数据的及时更新。本文将介绍如何在微信小...
    99+
    2023-11-21
    微信小程序 实现 下拉刷新
  • 微信小程序怎么动态更新页面
    微信小程序动态更新页面的案例:wxml代码: <swiper indicator-dots="{{true}}"  current="{{currentindex}...
    99+
    2024-04-02
  • uniapp在微信小程序中使用ECharts的方法
    今天使用uniapp集成Echarts,实现地图图表的展示 可以参照mpvue-echarts 参照:https://github.com/F-loat/mpvue-echarts ...
    99+
    2024-04-02
  • 实现微信小程序中的下拉刷新功能
    在微信小程序中,可以通过在 scroll-view 组件上添加 enablePullDownRefresh 属性来启用下拉刷新功能。同时需要在页面的 .json 文件中设置 background...
    99+
    2023-09-04
    微信小程序 javascript 小程序 前端 vue.js
  • 微信小程序怎么设置页面自动刷新
    微信小程序设置页面自动刷新的方法:打开微信小程序开发工具,新建项目。在wxml文件中插入view标签并绑定变量,代码:<view class="num">  <view&g...
    99+
    2024-04-02
  • 如何在微信小程序中使用Echarts方法
    如何在微信小程序中使用Echarts方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。xxx.json{ "usingComponents":...
    99+
    2023-06-08
  • 微信小程序实现动态验证码
    目录一、创建自定义组件verification-code二、在index页面使用本文实例为大家分享了微信小程序实现动态验证码的具体代码,供大家参考,具体内容如下 一、创建自定义组件...
    99+
    2024-04-02
  • 微信小程序如何实现下拉刷新界面
    这篇文章主要介绍微信小程序如何实现下拉刷新界面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序下拉刷新界面的实现利用onPullDownRefresh函数设置下拉刷新功能一、...
    99+
    2024-04-02
  • 关于微信小程序使用echarts/数据刷新重新渲染/图层遮挡问题
    1、微信小程序使用echarts,首先下载echarts并导入小程序项目中,因小程序后期上线对文件大小有要求,所以建议进行定制下载导入可减少文件大小占比,也可以下载以前旧版本文件比较...
    99+
    2024-04-02
  • 微信小程序如何实现动态传参
    这篇文章将为大家详细讲解有关微信小程序如何实现动态传参,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 动态传参实例详解在微信小程序的开发过程中经常会用到动态传参...
    99+
    2024-04-02
  • 在微信小程序中怎么使用three.js
    本篇内容主要讲解“在微信小程序中怎么使用three.js”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在微信小程序中怎么使用three.js”吧!1.首先引入下载材料,最后有完整源码默认你很熟悉...
    99+
    2023-07-05
  • 微信小程序如何实现局部刷新触发整页刷新效果
    小编给大家分享一下微信小程序如何实现局部刷新触发整页刷新效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图如上图所示,头部...
    99+
    2024-04-02
  • 微信小程序中如何实现返回tabBar不刷新页面
    这篇文章主要介绍微信小程序中如何实现返回tabBar不刷新页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、在一个项目中,遇到了这个场景:返回tabBar中的某个页面是需要保存数...
    99+
    2024-04-02
  • 微信小程序怎么实现状态管理
    微信小程序可以使用第三方库或自己实现状态管理来管理应用的状态。以下是一些常见的方法: 使用第三方库:比如使用微信官方推荐的微信小程...
    99+
    2024-04-09
    微信小程序
  • 微信小程序怎么实现下拉刷新和上拉加载更多
    微信小程序可以通过使用onPullDownRefresh和onReachBottom两个方法来实现下拉刷新和上拉加载更多的功能。 ...
    99+
    2024-04-03
    微信小程序
  • 怎么在微信小程序中使用async/await
    本篇内容主要讲解“怎么在微信小程序中使用async/await”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在微信小程序中使用async/await”吧!微...
    99+
    2024-04-02
  • 微信小程序中如何实现刷新上拉下拉不会断
    这篇文章将为大家详细讲解有关微信小程序中如何实现刷新上拉下拉不会断,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 上拉下拉不会断详细介绍最开始看到效果图,不错,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作