vue + element-ui Table 的数据多选 多页选择数据回显,分页记录保存选中的数据

需求:在不同的页面选择项时,选择的结果能保存起来,多个页面的选项都能被选到。

问题:当我选了第一页的一条数据时,点到第二页,数据就刷新了,第一页选的选项也就没有保存了,所以就只能永远选择一页内的数据。


              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
              
                
              
            

            

解决方案:

用 element-ui table 里这个参数:
(1)reserve-selection -->仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key

(2)配合row-key -->行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能的情况下,该属性是必填的。类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function
详情请看文档 https://element.eleme.cn/#/zh-CN/component/table

而且我们不要忘记在methods里写一段方法

methods: {
  getRowKeys(row){
    return row.id;
  },

最后的最后千万不要忘记可能你会出现类似的错误:


image.png

你的return 初始化的时候,list是什么类型呢?一定要记住啊!!! ===========不能为null 了

   return {
      list: null,
      total: 0,
      listLoading: false,
      listQuery: {
        page: 1,
        limit: 20,
        question_type: 0,
      },
}

请用你的双手将它改为[],谢谢!!!万不要再踏入我的歧途啊!!

  return {
      list: [],
      total: 0,
      listLoading: false,
      listQuery: {
        page: 1,
        limit: 20,
        question_type: 0,
      },
}

最后奉献成功的一张图


image.png

你可能感兴趣的:(vue + element-ui Table 的数据多选 多页选择数据回显,分页记录保存选中的数据)