elementui table表格后端分页 ,改变pagesize或者改变page扔保持复选框状态

步骤:
1.设置   @selection-change="handleSelection"和:row-key="getRowKeys"
2.设置列的  type="selection"属性
3.设置 :reserve-selection="true",意思是在回显的过程中,保留上次选中的数据,不会被刷新, 这样选中的数据保留下来,通过row-key的识别之后,就可以准确的回显。
 
<!-- 表格 -->
    <el-table
      v-loading="listLoading"
      :data="dataList.records"
      border
      fit
      highlight-current-row
      :header-cell-style="{
        background: '#f2f3f4',
        color: '#555',
        'font-weight': 'bold',
        'line-height': '32px',
      }"
      @selection-change="handleSelection"
      :row-key="getRowKeys"
    >
      <el-table-column
        v-if="options.multi"
        align="center"
        type="selection"
        width="55"
        :reserve-selection="true"
      />
      <slot name="data-columns" />
    </el-table>
 
 methods: {
    getRowKeys(row) {
      //记录每行的key值
      return row.id; //id 自己查看 row 里的数据
    },
    /**
     * 列表多选操作
     * @param val
     */
    handleSelection(val) {
      // console.log(val);
      const ids = [];
      val.forEach((row) => {
        ids.push(row.id);
      });

      this.selectedObjs = val;
      this.selectedIds = ids;
      this.multiShow = ids.length > 0;
      this.selectedLabel = "已选" + ids.length + "项";
  //发送给父组件
      this.$emit("select-changed", {
        ids: this.selectedIds,
        objs: this.selectedObjs,
      });
    },
}
posted @   赵辉Coder  阅读(692)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-07-29 Uncaught SyntaxError: Unexpected token '<'
2021-07-29 ant design vue中 使用a-select ,placeholder设置无效的解决办法
点击右上角即可分享
微信分享提示