uniapp上做了图表,电脑浏览器上可以显示,手机上显示不了

我是直接用document.getElementById获取dom元素,在浏览器有显示打印获取到的dom元素但是在手机上就报错。有没有大神知道这是怎么解决,望指教一下,谢谢。

image.png

如果用this.$refs获取元素,能打印获取到的dom数据,但是下图是ehcarts里面报错了

image.png

阅读 2.8k
1 个回答

uniapp 的 CanvasRenderingContext2D 不能直接用 DOM 接口去获取,这是因为很多运行时里并没有这些接口,比如小程序和原生渲染的应用。所以开发的时候必须使用 uni.createCanvasContext(canvasId) 这个接口,uniapp 针对不同的运行时接口做了封装。
由于很多绘图库是大量运用 DOM 接口的,如果没有做 Polyfill 的话,在 uniapp 里面运行不起来,如果库的开发者或者 uniapp 官方(或社区)没有提供 uniapp 专用的版本的话,那最好还是不要用,除非自己有能力把它移植到 uniapp。
但也不是全无办法,可以在 web-view里使用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题