uni-app,解决APP中echarts图表的tooltip提示框功能失效问题

问题原因:uniapp中的wx变量污染了echarts中的wx变量。

解决:

     方法一:在main.js文件中加入这句代码:window.wx = {};

window.wx = {}; //解决echarts在h5、app中tooltips及部分功能失效问题

    注意:这种办法虽然可以解决tooltip不显示的问题,但是如果项目中使用了富文本标签的话(如uView中的富文本组件),控制台就会报错,所以此法有缺陷!

<u-parse :html="content"></u-parse>

    方法二:在使用echarts图表的页面中加入这两句代码:

echarts.env.touchEventsSupported = false;
echarts.env.wxa = false;

     注意代码的位置,要加在初始化echarts实例之前!如下图所示:

注意,此法也有缺陷,例如tooltip中formatter函数里面的html标签无法被解析!

方法三:如果想从根本上解决上述问题,必须修改echarts源码!

具体步骤:http://t.csdn.cn/LaNHF

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在uni-app微信小程序使用echarts,需要进行以下步骤: 1. 在HBuilderX安装echarts插件,具体操作步骤为:在HBuilderX选择“工具”->“插件安装”,搜索“echarts”,选择“uniECharts”进行安装。 2. 在项目引入echarts组件,具体操作步骤为:在HBuilderX打开项目,选择“pages”目录,进入需要使用echarts的页面,右键点击该页面,选择“新建组件”->“uniECharts”,命名为“echarts”。 3. 在需要使用echarts的页面,引入echarts组件,具体操作步骤为:在需要使用echarts的页面的vue文件,添加以下代码: ```html <template> <view> <echarts :option="option" :canvas-id="'mychart'" :width="width" :height="height"></echarts> </view> </template> <script> import echarts from '@/components/echarts/echarts.vue'; export default { components: { echarts }, data() { return { option: { // echarts配置项 }, width: uni.getSystemInfoSync().windowWidth, height: uni.getSystemInfoSync().windowHeight } } } </script> ``` 4. 在需要使用echarts的页面,编写echarts的配置项,具体操作步骤为:在需要使用echarts的页面的vue文件的data,定义echarts的配置项,例如: ```javascript data() { return { option: { title: { text: '某站点用户访问来源', subtext: '纯属虚构', left: 'center' }, tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)' }, legend: { orient: 'vertical', left: 'left', data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎'] }, series: [ { name: '访问来源', type: 'pie', radius: '55%', center: ['50%', '60%'], data: [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' } ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }, width: uni.getSystemInfoSync().windowWidth, height: uni.getSystemInfoSync().windowHeight } } ``` 5. 在需要使用echarts的页面,调用echarts组件的方法,具体操作步骤为:在需要使用echarts的页面的vue文件的methods,定义调用echarts组件的方法,例如: ```javascript methods: { initChart() { this.$nextTick(() => { const chart = this.$refs.echarts.init((canvas, width, height) => { // 获取echarts实例 const echartInstance = echarts.init(canvas, null, { width: width, height: height }); // 设置echarts实例的配置项 echartInstance.setOption(this.option); // 将echarts实例返回 return echartInstance; }); }); } } ``` 6. 在需要使用echarts的页面,调用echarts组件的方法,例如: ```javascript onLoad() { this.initChart(); } ``` 通过以上步骤,就可以在uni-app微信小程序使用echarts了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值