vxe-table 表格多选框回显

news2024/9/24 6:20:36

1.弹框表格结构

 

<a-modal

              v-if="visibleQuality"

              title="请选择需要提高的能力素质要求"

              :maskClosable="false"

              :visible="visibleQuality && switchStatus"

              @ok="handleOkQuality"

              @cancel="handleCancelQuality"

              cancelText="取消"

              okText="确定"

              width="600px"

            >

              <a-spin :spinning="quaLoading" tip="加载中...">

                <vxe-table

                  ref="qualityTable"

                  row-id="id"

                  :row-config="{ keyField: 'id', isHover: true }"

                  :data="rowsQuality"

                  :checkbox-config="checkboxConfig"

                  width="600px"

                  @checkbox-change="checkboxChange"

                  @checkbox-all="checkBoxAll"

                >

                  <vxe-column type="checkbox" width="60"></vxe-column>

                  <vxe-column

                    field="abilityContent"

                    title="能力素质要求"

                    width="240"

                  >

                    <template #header>

                      <span><span style="color: #f5222d">* </span> 能力素质要求</span>

                    </template>

                  </vxe-column>

                  <vxe-column

                    field="explain"

                    title="能力素质要求说明"

                    width="240"

                  ></vxe-column>

                </vxe-table>

              </a-spin>

            </a-modal>

2. 数据 

data() {

   return {

       checkboxConfig: {}, // 默认选中

     }

}

3. 实现方法,首先要异步处理,等待数据加载完毕,再去回显

3.1 第一种方法:

ps:(重要提示)设置checkboxConfig默认选中第一次有效,第二次无效,处理:请求数据点击人员时候提前请求拿到数据,给能力素质弹框加v-if重新创建

        let arr = []

        this.qualityRows.map(v => {

          arr.push(v.abilityCode)

        })

        this.$nextTick(() => {

          this.checkboxConfig = {

            checkRowKeys: arr

          }

          this.checkboxConfig.checkRowKeys = arr

          // this.$set(this.checkboxConfig, 'checkRowKeys', arr)

        })

3.2 第二种方法:

// 第二种方法过滤得到新数组arr

        let arr = []

        if (this.rowsQuality && this.qualityRows) {

          this.rowsQuality.map(v => {

            this.qualityRows.map(item => {

              if (item.abilityCode === v.id) {

                arr.push(v)

              }

            })

          })

        }

        this.$nextTick(() => {

          this.$refs.qualityTable.clearCheckboxRow()

          this.$refs.qualityTable.setCheckboxRow(arr, true)

        })

3.3  异步处理和回显完整方法:(try,catch 配合async,await 异步处理)

async addQuality () {

      this.visibleQuality = true

      this.rowsQuality = []

      // 放在点击人员时候请求,这里注释掉

      this.quaLoading = true

      try {

        let params = {

          userId: this.currentRow.userId

        }

        let w = await Api.getAbility(params)

        this.rowsQuality = w.data // 需要选择的能力项弹框的表格数据

        this.quaLoading = false

        this.$nextTick(() => {

          if (this.rowsQuality.length === 0) {

            this.demandPersonRows[this.currentRowIndex].improveAbility = false

          }

        })

      } catch (err) {

        this.quaLoading = false

      }

      if (this.rowsQuality.length === 0) {

        this.$message.warning('未设置能力素质信息请联系管理员!')

      } else {

        // 设置checkboxConfig默认选中第一次有效,第二次无效,处理:请求数据点击人员时候提前请求拿到数据,给能力素质弹框加v-if重新创建

        // let arr = []

        // this.qualityRows.map(v => {

        //   arr.push(v.abilityCode)

        // })

        // this.$nextTick(() => {

        //   this.checkboxConfig = {

        //     checkRowKeys: arr

        //   }

        //   this.checkboxConfig.checkRowKeys = arr

        //   // this.$set(this.checkboxConfig, 'checkRowKeys', arr)

        // })

        // rowsQuality:需要选择的能力项弹框的表格数据(id),qualityRows:第三个表格能力素质项表格数据(abilityCode)

        // 第一种方法过滤 得到条件item.abilityCode === v.id 为true 的新数组arr

        // let arr = this.rowsQuality.filter(v => {

        //   let flag = false

        //   this.qualityRows.map(item => {

        //     if (item.abilityCode === v.id) {

        //       return (flag = true)

        //     }

        //   });

        //   if (flag) {

        //     return true;

        //   }

        // })

        // 第二种方法过滤得到新数组arr

        let arr = []

        if (this.rowsQuality && this.qualityRows) {

          this.rowsQuality.map(v => {

            this.qualityRows.map(item => {

              if (item.abilityCode === v.id) {

                arr.push(v)

              }

            })

          })

        }

        this.$nextTick(() => {

          this.$refs.qualityTable.clearCheckboxRow()

          this.$refs.qualityTable.setCheckboxRow(arr, true)

        })

      }

    }

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微信小程序-原生开发+TDesign】通用功能页封装——地点搜索(含腾讯地图开发key 的申请方法)

效果预览 核心技能点 调用腾讯地图官方的关键字地点搜索功能&#xff0c;详见官方文档 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodGetsuggestion 完整代码实现 地点输入框 <t-input value"{{placeInfo.title}}" bindtap"searchPlace" dis…

华为OD机试模拟题 用 C++ 实现 - 端口合并(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明端口合并题目输入输出示例一输入输出说明示例二输入输出说明示例三输入输出说明

力扣299.猜数字游戏(java语言实现)

题目描述&#xff1a; 你在和朋友一起玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff0c;该游戏规则如下&#xff1a; 写出一个秘密数字&#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次&#xff0c;你就会给他一个包含下述信息的提示&#xff1a; 猜测…

JVM系统优化实践(5):什么时候GC以及有哪些GC

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e;既然程序运行会产生大量的废弃物&#xff0c;也就是「垃圾」&#xff0c;那总不能一直堆着不管吧。现在就来粗浅地谈谈Java里面什么时候会触发GC以及有哪些GC。通…

NBA Top Shot 跌落神坛

近日&#xff0c;美国职业篮球联盟&#xff08;NBA&#xff09;授权的NFT 项目“NBA Top Shot Moments”被纽约法院初步裁定为“可能符合证券的定义”&#xff0c;虽然这不是对2021年用户指控该项目违法的最终判决&#xff0c;但这个裁定引发了市场担忧&#xff0c;部分NFT的地…

Java的运算操作

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录算术运算符增量运算符注意自增自减运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非&#xff01;…

直觉外科:手术机器人领域的领导者,未来还有巨大的增长空间

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 虽然直觉外科(ISRG)多年来一直在强劲的增长&#xff0c;但猛兽财经认为它未来仍有足够的空间进一步扩大收入和利润。虽然这个行业的竞争正在加剧&#xff0c;但猛兽财经认为从长远来看&#xff0c;这个市场可能会整合&…

如何修改JAR包内的代码

有时候由于找不到源码&#xff0c;只有一个jar包&#xff0c;但又想去修改jar包中的代码&#xff0c;就可以进行将jar包反编译后&#xff0c;修改&#xff0c;再重新编译的方式来实现。 一、下载反编译软件JD-GUI https://github.com/java-decompiler/jd-gui/releases 二、用…

Android 项目必备(四十二)-->Android 多窗口模式

简介 自由窗口模式: 该模式类似于常见的桌面操作系统&#xff0c; 应用界面的窗口可以自由的拖动和修改大小。 分屏模式 该模式可以在手机上使用&#xff0c; 该模式将屏幕一分为二&#xff0c; 同时显示两个应用界面。 画中画模式: 该模式主要用于TV&#xff0c; 在该模式下…

项目--基于RTSP协议的简易服务器开发(1)

RTSP协议简介&#xff1a;RTSP&#xff08;Real Time Streaming Prcotol&#xff09;是位于TCP\IP体系应用层的数据传输协议&#xff0c;通常的RTSP协议包含 RTSP、RTP、RTCP协议。一般而言&#xff1a;RTSP负责服务器与客户端之间的请求与响应RTP负责服务器、客户端之间传输媒…

【双U网络:传感器间自监督:全色锐化】

W-NetPan: Double-U network for inter-sensor self-supervised pan-sharpening &#xff08;W-NetPan&#xff1a;用于传感器间自监督全色锐化的双U网络&#xff09; 由于遥感数据的提供日益增多&#xff0c;可以通过全色锐化方法来处理空间-光谱限制。然而&#xff0c;融合…

【JavaGuide面试总结】操作系统篇·上

【JavaGuide面试总结】操作系统篇上1.什么是系统调用呢&#xff1f; 能不能详细介绍一下2.进程和线程的区别3.进程有哪几种状态?4.进程间的通信常见的的有哪几种方式呢?5.线程间的同步的方式有哪些呢?6.操作系统中进程的调度算法有哪些7.产生死锁的四个必要条件是什么?8.解…

KT148A语音芯片ic的供电电压以及电源输入的详细说明V1

目录 一、问题简介 二、详细说明 问题1&#xff1a;芯片的供电说明 问题2&#xff1a;我测试反而3.7V接到KT148A的7脚才能工作&#xff0c;正常吗&#xff1f; 问题3&#xff1a;分别测试了锂电池和USB供电&#xff0c;都不正常&#xff1f; 三、总结 完整的测试板如下图…

大型WMS系统源码 带扫码入库移动端源码

WMS的核心价值是降低成本&#xff0c;提高效率&#xff0c;能够反映和控制仓库各个环节的运作&#xff0c;实现事件前后的管理&#xff0c;为企业创造更高的效益。 WMS系统是智能仓库管理系统的缩写&#xff0c;WMS系统主要负责的是入库业务、出库业务、仓库调拨、库存调拨和虚…

Raspberry实践笔记—配置RobotFramework自动化测试环境

一般RobotFramework都是安装在Windows&#xff0f;Linux的PC机上&#xff0c;这里将简单介绍在树莓派硬件平台上配置RobotFramework的开发和运行环境。 树莓派上配置了自动化测试软件&#xff0c;可以考虑用多个这个廉价的“计算机”&#xff0c;开展并行的测试用例执行。成倍…

每日分享(免登录积分商城系统 动力商城 兑换商城源码)

​demo软件园每日更新资源,请看到最后就能获取你想要的: 1.Python教程2022&#xff1a;100天从新手到大师 完整版 Python 100天从新手到大师是一个Python入门教程&#xff0c;Python从入门到精通&#xff0c;专门为热爱python的新手量身定做的学习计划&#xff0c;100天速成pyt…

C++类和对象:拷贝构造函数和运算符重载

目录 一. 拷贝构造函数 1.1 什么是拷贝构造函数 1.2 编译器默认生成的拷贝构造函数 1.3 拷贝构造函数特性总结 二. 运算符重载 2.1 运算符重载概述 2.2 比较运算符重载&#xff08;> > < <&#xff09; 2.2.1 >运算符的重载 2.2.2 运算符的重载 2.…

面对海量的监控视频数据应该如何存储?

面对有些行业及工作特殊性&#xff0c;监控摄像头是必不可免的&#xff0c;面对成千上万的摄像头&#xff0c;每时每秒产生的视频数据&#xff0c;选择一个合理的存储方式&#xff0c;将会为您节省一大笔费用。而且&#xff0c;有些监控摄像头视频数据还需要按照国家要求存储30…

SpringCloud OpenFeign 源码分析

前言 由于公司正在高sky迁移&#xff0c;我们部门的老应用SpringBoot 1.x升级2.x&#xff0c;其中老的Neflix Feign也升级成了Spring Cloud OpenFeign&#xff0c;由于业务条线的各种高低版本以及服务之间调用等存在一些兼容性问题&#xff0c;于是看了下OpenFeign的源码&#…

【Web逆向】某津市公共资源交易平台链接加密分析

【Web逆向】某津市公共资源交易平台链接加密分析声明一、起因二、开始分析三、源码下载地址声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 一、起因 好奇抓取 天津市公共资源交易平台 的…