微信小程序开发中遇到的坑及解决方案

小程序开发


浏览:897 次

1.Taro单独切换项目的Taro版本环境

仅为一个项目升级#这样做的好处是,全局Taro版本仍然是1.x,多个项目之间的依赖关系没有冲突,其他项目仍然可以使用旧版本开发。如果项目中未安装Taro CLI,则需要先安装一个:

#如果您使用NPM

$npm安装--保存dev@tarojs/cli@2.x

#如果您使用纱线

$纱线添加-D@tarojs/cli@2.x

2.ECharts幻灯片并卡在小程序中

由于echarts的级别是微信小程序中最高的,所以无论设置多少级别,echarts都无法隐藏。似乎您只能在小程序中使用echarts。所以为了解决这个问题,我不得不妥协。打开ec canvas Wxml文件。删除touchStart、touchMove和touchEnd,然后直接删除它们。这三个事件应该按比例进行。我们不需要缩放它们。所以它被移除了。尽管需求暂时得到满足,但问题仍然没有真正的解决方案。

原件:

bindinit=“初始化”

bindtouchstart=“{{ec.disableTouch?”:“touchStart”}}”

bindtouchmove=“{{ec.disableTouch?”:“touchMove”}}”

bindtouchend=“{{ec.disableTouch?”:“touchEnd”}}”

现在:

bindinit=“初始化”

EChart无法跟随小程序中的页面

如果在卡顿问题中与echarts的交互很少,可以直接使用图像而不是画布,也就是说,在echarts渲染后用图片替换它。

如果我更新数据,我会再次发布echarts。渲染后,它将再次替换为图像。

图表on('已完成',()=>{

getCurrentInstance().page.selectComponent(id).canvasToTempFilePath({

成功:res=>{

console.log('res.tempFilePath====',res.temp文件路径)

this.set状态({

echartImgSrc:res.temp文件路径

})

},

失败:res=>控制台。日志(“转换图像失败”,res)

});

})

提供:

这个州。echartImgSrc==“”?

ref={this.refChart}

id={this.state.id}

canvas id=“mychart area”

强制使用旧画布=“true”

ec={this.state.ec}

/>

:

<;/封面图像>

3.当引用echarts5.3.0及以上版本时,小程序将报告错误:t addEventListener不是函数

ec文件夹下的Wx画布在js文件中添加addEventListener(){}