首页IT科技uniapp使用图表(uni-app项目|在弹窗中引入uchart图表子组件不显示)

uniapp使用图表(uni-app项目|在弹窗中引入uchart图表子组件不显示)

时间2025-09-19 01:32:42分类IT科技浏览11825
导读:为了解决uchart作为子组件在主组件里引用但不显示的情况,(同样适用于弹窗之中 目前有三种方法。...

为了解决uchart作为子组件在主组件里引用但不显示的情况,(同样适用于弹窗之中)目前有三种方法                    。

1-解决方式

1>如果你使用的uchart子组件是从官方拿的例子:进入到uchart子组件将onReady或者onLoad(){}的方法的名字换成mounted                               。

2>以父组件给子组件传值的方式给子组件的图表数据赋值            。(官方不推荐的方式)

  这种方式会使 chartData 原型链上增加额外的属性或方法                     ,最终导致这些多余的属性或方法传入 uCharts 组件                                ,带来预料不到的问题               。实际上官方甚至都不推荐将uchart作为多层套娃的子组件                              。

<template> <view class="charts-box"> <qiun-data-charts type="bar" :opts="opts" :chartData="scoreList" /> </view> </template> <!-- 子组件的模板内 -->
export default { name: EchartsBar, props: [scoreList], data() { return { opts: {....} } }, methods:{} } //子组件的js

3>在父组件中调用子组件里跟转化成JavaScript 对象的方法

  这种方法可以对整体赋值          ,并且采用深拷贝的方式               ,这种方式对数据需要动态变更的情况下很友好                 。此时要注意                                ,该方法的调用需要在父组件的vue实例加载完成之后               ,即在nextTick方法之中调用          。对于子组件调用还有什么疑问可以参考这篇文章:使用 Vue.js 怎么调用其他组件的方法

this.$nextTick(function(){this.$refs.echartsbar.getServerData()});

2-分析原因

  之所以要这么大费周章          ,是因为在本人的尝试中                                ,官方给的例子中onReady和onLoad方法均没有执行(不知是何缘故)                    ,当引入图表作为子组件时     ,就会一直显示加载页面而不显示数据并且也不报错                              。

  官方的文档写的十分详细                                ,有问题尽可能参考:uchart官方文档

声明:本站所有文章                         ,如无特殊说明或标注,均为本站原创发布                      。任何个人或组织                           ,在未征得本站同意时                               ,禁止复制                     、盗用                                、采集          、发布本站内容到任何网站               、书籍等各类媒体平台     。如若本站内容侵犯了原著者的合法权益     ,可联系我们进行处理                              。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
系统音频录制软件(关于录制EaseUS RecExperts音频软件的常见问题解答Windows10和Windows11-破解免费下载) 我想在家赚钱(想在家赚钱得会些什么意思-普通人做自媒体到底有多赚钱,真的是试一下才知道,普通的…)