uni-app H5使用 tabbars切换,echartst图表变小 宽度只有100px问题解决

问题:

跳转到别tabbars页面之后,再回来,echarts图显示缩小小团子。

原因分析:

在tabs切换中有echarts的话,我们会发现初始化的那个echarts是有宽度的,当点击tabs切换之后,切换过来的echarts只剩下100px的宽度。

这是因为渲染的时机不对,我们需要在点击到当前切换的时候在echarts父级加载完毕之后在执行echarts,而不是在页面初始化的时候就把所有tabs里面的echarts都执行。

因为echarts会根据父级给宽度,而在初始化页面的时候其他tabs切换是display:none;没有宽度,所以会发生以上问题。

解决:

tabbars跳转后,将echarts删除,跳转回来之后,再重新绘制。使用v-if解决

增加: v-if="chart"

tabbars点击事件:onTabItemTap,点击回来时,将chart:true,

页面离开时,onHide: 将chart=false

复制代码
<view class="seven">
      <view class="chart-title">近7天洗涤费趋势</view>
      <view class="charts-box" v-if="chart">
        <qiun-data-charts
            type="column"
            :eopts="eopts"
            :chartData="chartData"
            :echartsH5="true"
            :resize="echartsResize"
            padding="0"
            margin="0"/>
      </view>
    </view>

//..
data(){
return {
 chart: false,
}
}

  onHide() {
    console.log(">>页面不见了")
    this.chart = false;
  },
  onShow() {
    console.log(">>>2. onShow,tabs每次跳转触发 ")
    this.chart = true
  },

  methods: {
    onTabItemTap(item) {
      console.log(">>|------------点击事件", item)
    },
}
相关推荐
2501_9159214317 小时前
详细教程:使用Perfdog工具测量iOS应用的功耗性能与优化方法
android·macos·ios·小程序·uni-app·cocoa·iphone
梦曦i18 小时前
uni-app、uni-app x 与 Flutter 深度对比:2026年跨平台开发框架选型指南
flutter·uni-app·uni-app x
普马萨特2 天前
uni-app x 定位踩坑实录:H5/小程序/App 统一经纬度与逆地理编码
uni-app
Geek_Vison2 天前
保险APP已经用了Flutter,还能接入小程序吗?
flutter·小程序·uni-app·mpaas·小程序容器
郑州光合科技余经理3 天前
本地生活平台搭建:跨业态用户标识怎么贯通
java·开发语言·前端·后端·uni-app·php·ai编程
2501_915909064 天前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
不爱说话郭德纲4 天前
从“点点点”到一键出包:我把 uni-app x Android 离线打包做成了脚本
android·前端·uni-app
snotJam4 天前
关于Uniapp的Android自定义基座使用
android·uni-app
今年下半年5 天前
【微信小程序】uni-app + Vue3 + Vite 的小程序项目实现「进入指定范围才能打卡」的考勤功能
微信小程序·uni-app·定位·考勤
郑州光合科技余经理8 天前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程