问题再现效果:
问题描述:当前页面是一个带有滚动条的页面,表格是使用elementUI中的表格el-table组件封装的,页面输入框输入数据后,页面自动回到了顶部,确实难受;
问题原因:表格中数据是可以更改的,之前是直接用 this.tableData[index].classTime = 10; 改变的数组数据,数据是改变了,但是页面没有重新渲染,为了达到渲染效果在封装的表格组件上加了一个属性 :key="Math.random()" , 这样倒是页面重新渲染了,但也导致了页面自动回到顶部的问题,现在改成使用这种方式改变数组数据: this.$set(this.tableData[this.index], 'orderTimes', num); 就可以了,表格组件也不需要加 :key="Math.random()" 了;