美文网首页
小程序——列表渲染echarts的坑

小程序——列表渲染echarts的坑

作者: Neo_zero | 来源:发表于2019-08-01 19:28 被阅读0次

小程序官方样例,以及百度能搜到的echarts在小程序里使用的样例,都会在Page()之外定义一个chart,用来chart.setOption() 而不必重新setData(ec)

但是当在组件中使用echarts,且该组件是列表渲染(在父组件中循环子组件),发现子组件中的echart图表会互相影响!
如下:

<view>
  <child wx:for="{{items}}"></child>
</view>
<child>
 <ec-canvas ec="{{ec}}"/>
</child>

child/index.js

let chart // debug后发现多个child组件之间共享chart变量,导致图表无法正确显示
Component({
  properties:{
      ...
    },
  data:{
    ec: {
      onInit: function initChart(canvas, width, height) {
            chart = echarts.init(canvas, null, {
              width,
              height
            })
            canvas.setChart(chart)
            chart.setOption(option)
            return chart[index]
    }}
})

如上图,debug之后发现,在用了echarts的子组件的Component()之外定义的变量chart,会在同页面的同名子组件之间共享,导致图表无法正确显示。

没想到什么好的解决方案,于是把子组件里的变量chart定义为数组,用子组件的index来作为数组下标,每个子组件用chart(index)来接收echarts.init()。规避了无法正确加载图表的问题。
但这不是一个好的解决方式。

相关文章

  • 小程序——列表渲染echarts的坑

    小程序官方样例,以及百度能搜到的echarts在小程序里使用的样例,都会在Page()之外定义一个chart,用来...

  • VUE生成dom后执行函数

    需求,动态生成列表数据,列表中有echarts表格 echarts渲染图形时,需要当然dom已经生成 调用API获...

  • 小程序——列表渲染

    在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变...

  • 小程序-列表渲染

    所谓的列表渲染,就是对于列表数据的展示。其使用场景大多为商品列表页面、购物车页面、收藏列表等页面,应用广泛。微信小...

  • 微信小程序列表渲染

    1. 指令渲染指令:vx:for每个项目在微信小程序中定好了,都叫item。 2. 微信小程序的列表渲染可以渲染数...

  • wxml数据绑定,列表渲染,条件渲染

    学习目标 小程序生命周期 wxml数据渲染,列表渲染, 条件渲染 组件事件绑定 (bindtap, bindinp...

  • 1.3 文章列表界面

    9、列表渲染wx:for 小程序提供了一个wxml组件的for循环,称为列表渲染 9.1.1 将3篇文章的数据提取...

  • 小程序列表渲染

    swiper组件即滑块视图容器,通常用来做轮播图。样子如下: 从官方的代码(这里我就不贴了,大家可以去查阅官方文档...

  • 小程序之列表渲染

    微信小程序地址:https://developers.weixin.qq.com/miniprogram/dev/...

  • 小程序之列表渲染

    实例: //helloworld.wxml {{index}}...

网友评论

      本文标题:小程序——列表渲染echarts的坑

      本文链接:https://www.haomeiwen.com/subject/nzncdctx.html