el-table设置滚动位置

1.场景

el-table有时候需要对滚动位置缓存,例如第二次打开弹窗表格的滚动位置还在上次的地方

    queryData(){
        this.initData()
        this.$nextTick(() => {
          // 设置滚动位置
          if (this.scrollLeft) {
            let id = '#perTable_' + this.randomNum
            const el = document.querySelector(id)
            setTimeout(() => {
              try {
                $(el).find('.el-table__header-wrapper')[0].scrollLeft = scroll[0]
                $(el).find('.el-table__body-wrapper')[0].scrollLeft = scroll[1]
              } catch (e) {
                console.log(e)
              }
            })
          }
          _this.setScroll()
       })
   }


   setScroll() {
      let id = '#perTable_' + this.randomNum
      const wrapTable = document.querySelector(id)
      const selectWrap = wrapTable.querySelector('.el-table__body-wrapper')
      const _this = this
      selectWrap.addEventListener('scroll', function() {
        _this.scrollLeft = this.scrollLeft
      })
    },

  

 

posted @ 2022-04-30 15:57  卷叶小树  阅读(2694)  评论(0)    收藏  举报