欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 在 mpvue 使用 echarts 小程序组件

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

在 mpvue 使用 echarts 小程序组件

发布时间:2020-10-31  
具体操作

下载 echarts-for-weixin 。

把其 ec-canvas 目录移动到 mpvue 项目的 static 目录下。

对 ec-canvas/ec-canvas.js 进行小调整,考虑提 pr 到 ec-canvas。

修改 ready 为异步获取数据。

ready: function () { // 异步获取 setTimeout(() => { if (!this.data.ec) { console.warn('组件需绑定 ec 变量,例:<ec-canvas id="mychart-dom-bar" ' + 'canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>'); return; } if (!this.data.ec.lazyLoad) { this.init(); } }, 10) }

为 init 添加接收 options 传参

var query = wx.createSelectorQuery().in(this); query.select('.ec-canvas').boundingClientRect(res => { if (typeof callback === 'function') { this.chart = callback(canvas, res.width, res.height); } else if (this.data.ec && this.data.ec.onInit) { this.chart = this.data.ec.onInit(canvas, res.width, res.height); } else if (this.data.ec && this.data.ec.options) { // 添加接收 options 传参 const ec = this.data.ec function initChart(canvas, width, height) { const chart = echarts.init(canvas, null, { width: width, height: height }); canvas.setChart(chart); chart.setOption(ec.options); return chart; } this.chart = initChart(canvas, res.width, res.height); } }).exec();

创建 pages/bar 页面,目录如下:

. └── pages └── bar ├── index.vue └── main.js

在 main.js 中引入微信小程序的自定义组件

import Vue from 'vue' import App from './index' const app = new Vue(App) app.$mount() // 添加 config json export default { config: { // 这儿添加要用的小程序组件 usingComponents: { 'ec-canvas': '../../../static/ec-canvas/ec-canvas' } } }

在 app.vue 中添加 options、template 等相关配置

<template> <div> <div class="container"> <ec-canvas class="canvas" id="mychart-dom-bar" canvas-id="mychart-bar" :ec="ec"></ec-canvas> </div> </div> </template> <script> const options = { // more code ... } export default { data () { return { ec: { // 传 options options: options, } } } } </script> <style> ec-canvas { width: 400px; height: 400px; } </style> Build Setup # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report