首页 > 其他分享 >iView Table分页 多选分页选中回显

iView Table分页 多选分页选中回显

时间:2024-09-27 11:53:05浏览次数:10  
标签:el 分页 回显 item 选中 Table data ID selectedData

iView的Table组件

前端在多选时如果点击下一页则丢失了上一页Table的多选数据(由于采用的后端分页,每次翻页会直接刷新为新数据)

定义变量

      loading: false,
      columnsData: [], //表格表头
      talbeData: [], //表格数据
      params: {
        total: 0,
        page: 1,
        limit: 10
      },//请求参数
      selectedData: [],//选中的数据
      defSelectData: [] // 去重数据    

页面实现

<Table border stripe ref="table" :loading="loading" :columns="columnsData" :data="talbeData" @on-select="onSelectAll" @on-select-cancel='onSelectCancel' @on-select-all="onSelectAll" @on-select-all-cancel='onSelectAllCancel'></Table>
<Page :total="params.total" :current="params.page" :page-size="limit" @on-change="changePage" @on-page-size-change="changeSize" show-elevator show-sizer show-total></Page>

表格点击触发

    // 全选 触发
    onSelectAll(selection) {
      // 去重之前的 选中后合并的数组
      this.defSelectData = [...selection, ...this.defSelectData]
      for (let val of this.defSelectData) {
        if (!this.selectedData.some(item => item.ID === val.ID)) {
          this.selectedData.push(val)
        }
      }
    },
    // 取消选中 时触发
    onSelectCancel(selection, row) {
      let result = this.selectedData.findIndex((el) => {
        return el.ID === row.ID
      })
      this.selectedData.splice(result, 1)
    },
    // 取消全选 触发
    onSelectAllCancel() {
      this.selectedData = this.selectedData.filter(item => {
        return this.talbeData.every(el => {
          return item.ID !== el.ID
        })
      })
    },

点击分页,取到新一页的数据,进行选中回显

    // 获取数据
    getTableData() {
      this.loading = true
      getDepUserList(this.params).then(res => {
        this.loading = false
        let data = res.data
        data.list.forEach(item => {
          //选中数据回显
          this.$set(item, '_checked', this.selectedData.some(el => el.ID === item.ID));
        });
        this.params.total = data.count
        this.talbeData = data.list
      })
    },
    changePage(page) {
      this.params.page = page
      this.getTableData()
    },
    changeSizeMember(size) {
      this.params.limit = size
      this.getTableData()
    },

标签:el,分页,回显,item,选中,Table,data,ID,selectedData
From: https://www.cnblogs.com/yj-ang3141/p/18435371

相关文章

  • 学习011-03-01 Business Classes vs Database Tables(业务类与数据库表)
    BusinessClassesvsDatabaseTables(业务类与数据库表)TheXAFisbasedonanobject-baseddatahandlingapproach.Inthistopic,wediscussthereasonswhythisapproach,asopposedtotherelationalmodelofdatahandling,waschosen.Themethodsthatal......
  • PbootCms模板当列表页只有一页的时候不显示分页的小技巧
    在PBootCMS中,如果希望在列表页只有一页时隐藏分页条,可以通过条件判断来实现。具体步骤如下:步骤1:判断总页数获取总页数:使用 {page:count} 获取总页数。判断总页数:当总页数大于1时显示分页条。详细解释判断总页数使用 {pboot:if('[page:count]'>1)} 判断总......
  • 一篇文章教你用python玩转数据透视表PivotTable
    目录建数据透视表 配置行列字段添加列字段配置“值字段” 关闭分类汇总设置表格形式显示读取数据来透视表内容读取rowfield的内容读取valuefield的内容筛选透视表添加行标签筛选添加筛选标签(Pagefield)排序透视表 本文主要介绍excel的数据透视表常见的操......
  • hibernate 自定义表名与列名 - 增删改查分页 - 兼容Mysql和Oracle
    1.新增service,先组装SQLimportlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.data.domain.Page;importorg.springframework.stereo......
  • 比较好用的调节Table表格的表头和内容的宽度的方法
    因为大部分的Table组件的表头宽度不太适合我们所使用的,我们可以通过封装函数来适应表头的宽度。getColumnWidth(label,prop,tableData){   //label表头名称   //prop对应的内容   //tableData表格数据   constminWidth=150;//最小宽度......
  • 易优cms网站数据库搬家,出现数据表或视图不存在,[错误代码]SQLSTATE[42S02]: Base table
    当你在迁移易优CMS数据库后遇到“数据表或视图不存在”的错误提示时,通常是因为目标数据库中缺少某些表或视图。以下是一些具体的解决步骤:步骤1:确认数据库表结构检查数据库表使用数据库管理工具(如phpMyAdmin)打开目标数据库。检查数据库中是否存在相关表。步骤2:导出并......
  • 易优CMS【错误代码】 SQLSTATE【42S02】:Base table or view not found:1146 Table‘111
    当你遇到“数据表或视图不存在”的错误提示时,通常是因为数据库中缺少某个表或视图。以下是一些具体的解决步骤:步骤1:确认表是否存在检查数据库表使用数据库管理工具(如phpMyAdmin)打开数据库。检查数据库中是否存在表 ey_admin_theme。如果表不存在,需要创建该表。步骤......
  • CompletableFuture优雅处理并发最佳实践
    1、supplyAsync方法需要一个Supplier函数接口,通常用于执行异步计算CompletableFuture<String>future=CompletableFuture.supplyAsync(()->{dosomething("处理事务");return"结果";});2、runAsync接受一个Runnable函数接口,不关心异步任务的结果CompletableF......
  • SD(Stable Diffusion)模型的基本工作数据流
    SD(StableDiffusion)模型的基本工作数据流主要涉及图像生成过程,它建立在深度学习的基础上,利用神经网络对图像和文本进行建模和学习。以下是SD模型基本工作数据流的详细步骤:1.数据预处理收集数据:首先,需要收集大量的图像数据和相应的文本描述作为训练数据。这些数据需要满足......
  • Profile、Profile Table 和 Profile Specification
    在JAINSLEE(ServiceLogicExecutionEnvironment)中,Profile、ProfileTable和ProfileSpecification是非常重要的数据管理概念。为了帮助理解,下面的讲解将包含清晰的概念定义,并对相关XML配置文件中的每个节点进行详细说明。1.Profile(截面)1.1概念Profile......