uniapp 鸿蒙平台 Echarts 无法使用的解决方案
uniapp 鸿蒙平台 Echarts 无法使用的解决方案
最近不少开发者反馈在 uniapp 鸿蒙平台上, Echarts 无法使用,现经过排查,不能使用的原因公布如下:
在 echats源码中 经过 build 之后的产物 :
含有wx对象:
if (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {
env.wxa = true;
env.touchEventsSupported = true;
}
在非鸿蒙平台,之前对 wx 对象做了兼容,因此能够在 uniapp 上运行,在鸿蒙平台上未做兼容,导致了 Echarts 无法在 uniapp 的鸿蒙平台上使用。
解决方案:
- 等待 HbuilderX 更新,在修复之后更新版本即可解决, 更新后版本在本帖同步
- 手动修改Echarts源码,将wx对象,改为uni对象
在下方提供了替换文件
可以更新到 4.65 解决无法使用的问题
更多关于uniapp 鸿蒙平台 Echarts 无法使用的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
针对uniapp鸿蒙平台Echarts无法使用的问题,解决方案如下:
-
官方修复方案: 建议开发者优先等待HBuilderX官方更新(预计4.65版本修复),这是最稳定的解决方案。更新后请关注本帖的版本同步信息。
-
临时手动解决方案: 若需立即使用,可手动修改Echarts源码中的
wx
对象为uni
对象。具体修改位置为检测微信环境的代码段:
// 修改前
if (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function')
// 修改后
if (typeof uni === 'object' && typeof uni.getSystemInfoSync === 'function')