在vue中利用$ref 設置scrollTop失效


運用場景:在列表中選擇項目跳轉到下一個頁面詳情,重新返回這個頁面的時候,需要滾動到之前的位置。

解決方法:

點擊跳轉的時候,把頁面滾動的位置存在session里面,再次進來的時候,為容器賦值,,發現不管怎么設置

 

this.$refs.content.scrollTop的值都為0,后面f放在nextTick方法里面執行並放在mounted,發現當后端數據速度比較忙時,也會失效,因為數據是異步請求,真正獲取數據不是在mounted。后面把nextTick放在數據請求成功后執行,成功解決問題,最終解決方案如下
  methods: {
    //獲取項目列表
    getGamePlansList() {
      gamePlansBySportCode({ 
        sportCode: this.queryData.sportCode, 
        startDate: this.dateValue
      }).then(res => {
        this.$vux.loading.show()
        if(JSON.stringify(res.data) !== "{}") {
          this.project = res.data
          this.isData = true
        } else {
          this.isData = false
        }
        // 從詳情回來的滾動條返回到上一次
        this.$nextTick(() => {
          this.$vux.loading.hide()
          if(this.$utils.getSession('scrollTop')) {
            this.$refs.content.scrollBy(0, this.$utils.getSession('scrollTop'))
          }
        })
      })
    }
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM