PHP前端开发

Vue Element Plus中el-tabs切换ECharts图表时页面跳到顶部怎么办?

百变鹏仔 3周前 (11-26) #echarts
文章标签 跳到

el-tabs 点击 el-tab-pane 带有 v-if 的 echarts 图表时页面跳至顶部

问题描述

在 vue elementpuls 中使用 el-tabs 时,el-tab-pane 中包含了三个使用 v-if 的 echarts 图表。当点击这些图表时,页面会自动滚动到顶部。

解决方案

立即学习“前端免费学习笔记(深入)”;

1. 设置图表容器的高度

有一种可能的原因是 echarts 图表的容器高度在 v-if 切换时发生了变化,导致页面重新布局并跳到顶部。给图表容器添加一个固定高度,例如:

.chart-container {  height: 500px;}

2. 重新考虑使用 v-if

echarts 图表并不需要使用 v-if 来控制显示隐藏。可以尝试使用 v-show,并在合适的时机进行初始化或设置选项:

<el-tab-pane v-show="tab1visible">  <div id="chart1"></div></el-tab-pane>
const chart1 = echarts.init(document.getElementById('chart1'));if (tab1Visible) {  // 初始化图表  chartInstance.setOption(/* ... */);} else {  // 设置图表选项  chartInstance.setOption(/* ... */);}