避免在重新渲染后滚动到顶部

时间:2019-09-24 08:57:59

标签: vue.js

为什么在重新渲染组件后Vuejs滚动到页面顶部。感觉就像刷新页面一样。如何防止这种滚动和将页面固定在其位置

在单击某些部分后进行想象,它将重新渲染其组件

这是我进行更新的代码,然后滚动到顶部

methods: {
        updateData(data) {
            let updatedCategory = data.category;
            updatedCategory = new Category(updatedCategory);
            updatedCategory.isDefault = 1;

            for (let cat in this.categories){
                if(this.categories[cat].id === updatedCategory.id){
                    Vue.set(this.categories,cat, updatedCategory);
                }
            }
        }
    },

1 个答案:

答案 0 :(得分:1)

  • 发现哪些元素具有滚动条。
  • 在更新数据之前,请捕获ele.scrollTop
  • 更新您的数据。
  • nextTick中,恢复元素的scrollTop

https://www.w3schools.com/jsref/prop_element_scrolltop.asp