echarts微信小程序图表不跟随滑动问题

使用echarts时界面滑动时,图标不跟随滑动,浮在元素上方。


【 问题原因】该布局中含有position:fixed或absulote的元素,导致echarts图表无法滑动。
官方文件说明:canvas为原生组件故有一下的性质:

由于原生组件脱离在 WebView 渲染流程外,因此在使用时有以下限制:
组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。
后插入的原生组件可以覆盖之前的原生组件。
原生组件还无法在 scroll-view、swiper、picker-view、movable-view 中使用。
部分CSS样式无法应用于原生组件,例如:
无法对原生组件设置 CSS 动画
无法定义原生组件为 position: fixed
不能在父级节点使用 overflow:hidden 来裁剪原生组件的显示区域

【 解决方法】所有父级元素(有包含ec-canvas的所有view元素)的position不可为fixed或absulote,将其改为其他,另外兄弟元素可以为position:absulote或fixed,否在还是会有重叠
修改后效果如图所示

另外:在wx-charts也遇到同样的问题

也是这样的解决办法,所以这不是wx-charts和echarts的bug,是本身微信小程序canvas组件的bug,希望腾讯大牛们能优化~

UniApp是一个基于Vue.js的跨平台开发框架,可以用于开发微信小程序、H5、App等多个平台的应用程序。而ECharts是一个由百度开发的数据可视化库,可以用于绘制各种图表和图形。 在UniApp中使用ECharts来绘制图表需要以下几个步骤: 1. 安装ECharts插件:在UniApp项目中,可以通过npm安装ECharts插件,命令如下: ``` npm install echarts --save ``` 2. 引入ECharts组件:在需要使用ECharts的页面或组件中,引入ECharts组件,例如: ```vue <template> <view> <ec-canvas id="mychart" canvas-id="mychart" :ec="ec"></ec-canvas> </view> </template> <script> import * as echarts from 'echarts'; export default { data() { return { ec: { lazyLoad: true // 延迟加载 } }; }, onLoad() { this.initChart(); }, methods: { initChart() { this.$nextTick(() => { this.ecComponent = this.selectComponent('#mychart'); this.ecComponent.init((canvas, width, height) => { const chart = echarts.init(canvas, null, { width: width, height: height }); // 绘制图表 chart.setOption({ // 配置项 }); // 将图表实例绑定到this上,方便其他方法调用 this.chart = chart; return chart; }); }); } } }; </script> ``` 3. 配置ECharts图表:在`initChart`方法中,可以通过`chart.setOption`方法来配置ECharts图表的各种属性和数据,具体的配置项可以参考ECharts官方文档。 以上就是在UniApp中使用ECharts绘制图表的基本步骤。通过这种方式,你可以在微信小程序中使用ECharts来展示各种图表和数据。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值