你若安好便是晴天 2023-07-04 10:28 采纳率: 0%
浏览 93

a-table 刷新页面后滚动条位置保持不变

antd+vue,表格编辑数据,失去焦点时保存数据,并刷新表格,希望实现刷新表格后水平滚动条保持在刷新前的位置不变,请问该如何实现?麻烦看下以下代码,目前是没有效果的

主体代码如下: 
mounted() {
    this.$refs.table.$el.querySelector('.ant-table-body').addEventListener('scroll', this.onScrollHandle)
  },
methods: {
    onScrollHandle(tableRef) {
      this.offsetLeft = tableRef.target.scrollLeft
    },
    // 刷新表格
    refreshTable() {
      this.$refs.table.refresh()
      if (this.offsetLeft) {
        this.savescroll()
      }
    },
    // 页面刷新后设置当前滚动的位置
    savescroll() {
      this.$nextTick(() => {
        setTimeout(() => {
          let scroll = this.$refs.table.$el.querySelector('.ant-table-body')
          scroll.scrollLeft = this.offsetLeft
        }, 10)
      })
    },
}

  • 写回答

3条回答 默认 最新

  • Xxf909011 2023-07-04 10:58
    关注
    1. 监听编辑表格的失去焦点事件,在事件触发时保存数据。
    2. 刷新表格数据。
    3. 在刷新表格后,获取当前水平滚动条的位置。
    4. 使用表格组件的方法设置水平滚动条的位置。
      具体代码如下所示:
      ```vue

    ```

    评论

报告相同问题?

问题事件

  • 修改了问题 7月4日
  • 修改了问题 7月4日
  • 创建了问题 7月4日