vue3中a-table表格默认选中禁止选择

2023-11-16

效果:

代码:

 使用row-selection中的getCheckboxProps属性,其中preserveSelectedRowKeys属性设置为true,是为了表格切换页的时候,保留其他页面选中的数据。

点击按钮,出现弹窗

const addSourceEvent = () => {
  // 左边树id
  visibleSelect.value = true;
  getRecoveryData();
  handleRecoveySizeChange(1, 15);
  selecrowdata.value = selectArr.value.map((item) => item.platFormClientExId);
  rowSelects.value = selecrowdata.value;
};
// 获取应用列表
const getRecoveryData = () => {
  getclientTenant({
    MaxResultCount: objArrayRecovey.pagination.pageSize,
    PageNumber: objArrayRecovey.pagination.current,
    SearchText: objArrayRecovey.searchParams,
  }).then((res) => {
    loadingRecovery.value = false;
    recoveryData.value = res.items;
    objArrayRecovey.pagination.total = res.totalCount;
  });
};

 

function handleRecoveySizeChange(page, pageSize) {
  if (objArrayRecovey.pagination.pageSize != pageSize) {
    objArrayRecovey.pagination.current = 1;
    objArrayRecovey.pagination.pageSize = pageSize;
  } else {
    objArrayRecovey.pagination.current = page;
  }
  getRecoveryData(objArrayRecovey.searchParams);
}
      <a-modal
        v-model:visible="visibleSelect"
        title="选择应用"
        @ok="handleOk"
        class="modalBox"
        style="width: 1000px; top: 86px"
        footer=""
        @cancel="recoveyClose"
      >
        <div class="search">
          <SearchItem
            :xxl="10"
            :searchitem="searchitemRecovey"
            :submitFunc="submitRecovery"
          ></SearchItem>
        </div>
        <div class="tabAddBtnGroup">
          <a-button
            @click="showModal"
            class="addBtn"
            type="primary"
            :disabled="recoveryData.length === 0 || !selecrowdata.length"
          >
            确定</a-button
          >
        </div>
        <a-table
          :rowKey="(row) => (row.id ? row.id : row.Id)"
          :columns="restoreTable"
          :data-source="recoveryData"
          :pagination="objArrayRecovey.pagination"
          size="small"
          :loading="loadingRecovery"
          :row-selection="{
            preserveSelectedRowKeys: true,
            getCheckboxProps: getCheckboxProps,
            selectedRowKeys: selecrowdata,
            ...objrowSelection,
          }"
        >
          <template #bodyCell="{ column, record, index, text }">
            <template v-if="column.ellipsis == true">
              <a-tooltip placement="topLeft" :title="text">
                <span class="ellipsis">{{ text }}</span>
              </a-tooltip>
            </template>
            <template v-if="column.key == 'index'">
              <span>{{
                `${
                  (objArrayRecovey.pagination.current - 1) *
                    objArrayRecovey.pagination.pageSize +
                  index +
                  1
                }`
              }}</span>
            </template>
          </template>
        </a-table>
      </a-modal>

 

const objrowSelection = {
  // selectedRowKeys: selectedRowKeys,
  //selectedRowKeys 选中行的datasource 中元素key的值; selectedRows为所选元素中datasource 是一个数组。
  onChange: (selectedRowKeys, selectedRows) => {
    selecrowdata.value = [...selectedRowKeys];
  },
};
const getCheckboxProps = (record) => {
  return {
    disabled: selectArr.value.some(
      (item) => item.platFormClientExId === record.id
    ),
  };
};

selectArr是选中的数据数组。

整体思路:点击按钮的时候,addSourceEvent方法,需要把所有数据都存起来a,然后把a的id都存在弹窗的选中数组中,并且筛选出弹窗数组b里面的a,设置为禁止选中状态,然后再选中其他数据的时候,showModal方法,应该把一开始默认选中的数据先剔除掉。最后确定的时候,记得把数据都清空。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3中a-table表格默认选中禁止选择 的相关文章

  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • Javascript 对象属性名称

    在 C 中 可以将对象属性的名称作为字符串值获取 名称 对象 Property gt myProperty 这可以在 Javascript Typescript 中完成吗 Object Keys 是我找到的唯一东西 但它给了我所有的键 示例
  • Javascript 将对象推送为克隆

    我将 d3 用于交互式网络应用程序 我需要绑定的数据在交互过程中发生变化 并且由 JSON 变量中的一些选定对象组成 为此 我在 JSON 变量上使用了映射 并进行了一些查询来选择适当的对象 对象被推送到列表中 并且该列表被绑定为新数据 我
  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • 如何在 Vuejs 中加载 Pixi 实例?

    我正在 VueJS 组件中学习 PixiJS 如下所示Pixi教程 https github com kittykatattack learningPixi我控制台显示此错误 vue runtime esm js 2b0e 619 Vue
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • 如何解决“消息端口在收到响应之前已关闭”的问题。在 JavaScript 中的 window.location.reload() 之后

    我遇到了 javascript 问题 从 chrome v73 0 3683 86 开始 每当我在 window location reload 函数之后运行 javascript 代码时 它总是给我错误 Unchecked runtime
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • java正则表达式验证密码_java密码验证正则表达式校验

    正则表达式就是记录文本规则的代码 php密码验证正则表达式 8位长度限制 密码验证 password zongzi Abc oo13a2 n preg match all a zA Z d 8 password array 长度是8或更多
  • Spring中事件监听器

    Spring中事件监听器 概述 基本构成 Spring事件监听器应用 Spring中监听器流程和源码解析 概述 事件监听器是观察者模式的一个应用 当被观察的事件发生改变时需要通知该事件的订阅者针对这个事件做出对应行为 它将事件的发布和订阅进
  • MyBatisPlus之条件查询(常规查询、范围查询、模糊查询、null值处理等)

    MyBatisPlus之条件查询 MyBatisPlus之条件查询 1 设置查询条件 1 1 常规格式 1 2 链式编程格式 1 3 lambda格式1 1 4 lambda格式2 2 组合查询条件 2 1 并且 2 2 或者 3 条件查询
  • 项目难管理?先学会用好甘特图(内附操作方法及实用模板)

    先分享一些项目管理甘特图的模板 省事儿 高效 简单 再放制作教程 注 模板文中自取 部分Excel模板做成文件放在文末了 01 项目管理Excel套表 02 工程项目流程甘特图 03 项目管理甘特图表 模板指路 gt gt 工程项目管理模板
  • create-react-app中使用axios请求本地json文件

    在create react app创建react应用时 模拟本地请求静态json文件 必须把静态文件放到public下才可以请求到
  • appium+jenkins实例构建

    自动化测试平台 Jenkins简介 是一个开源软件项目 是基于java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台 使软件的持续集成变成可能 前面我们已经开完测试脚本 也使用bat 批处理来封装了启动App
  • P3369 【模板】普通平衡树【splay】

    题目链接 一个学习splay的链接 挺不错的哟 初识splay的时间里 总是会在各种各样的地方反着各种各样稀奇古怪的错误 好蒻 这次的错误是在pushup 的时候 我们更新其父节点的时候 不能直接使用 1 来做 而是要理解为什么是加上这个节
  • linux内核之无锁缓冲队列kfifo原理(结合项目实践)

    无锁缓冲队列kfifo 1 kfifo概述 2 kfifo功能描述 3 kfifo put与 kfifo get详解 4 kfifo get和kfifo put无锁并发操作 5 总结 6 项目使用介绍 7 其它 userspace 移植实现
  • Qt之QEvent

    简述 QEvent 类是所有事件类的基类 事件对象包含事件参数 Qt 的主事件循环 QCoreApplication exec 从事件队列中获取本地窗口系统事件 将它们转化为 QEvents 然后将转换后的事件发送给 QObjects 一般
  • 冠脉造影的医学背景知识

    1 冠脉造影读片技巧 医学界医生站
  • 内容:先有详细设计,还是先有接口文档?

    有朋友询问 对于一个项目来说是先写接口文档还是先设计表呢 有的人说 先写接口文档再慢慢完成表的设计 这样就可以避免由于太了解表了而导致对于返回的数据模型太受表的影响 针对这个问题 我们需要明确2个概念 并结合研发流程考虑信息依赖 才能更好地
  • avue dynamic动态子表单启用插槽slot功能的正确方式

    avue dynamic动态子表单启用插槽slot功能的正确方式 关于avue dynamic动态子表单 配置dynamic的children字段即可 内部组件为crud组件 大部分属性参考Crud文档 默认的type为curd 还可以配置
  • spring boot整合MySQL数据库

    spring boot整合MySQL数据库 spring boot整合MySQL数据库可以说很简单 只需要添加MySQL依赖和在配置文件中添加数据库配置信息 利用spring boot starter jdbc的JdbcTemplate即可
  • 集成算法——Adaboost代码

    集成算法是我们将不同的分类器组合起来 而这种组合结果就被称为集成方法或者是元算法 使用集成方法时会有多种形式 可以是不同算法的集成 也可以是同意算法在不同设置下的集成 还可以是数据集不同部分分配给不同分类器之后的集成 两种形式 baggin
  • 【总结】Markdown个人常用语法

    目录 输入 toc 按回车Enter Table of Contents TOC toc 标题 一级标题 二级标题 六级标题 段落 一个段落是由一个以上的连接的行句组成 一个以上的空行和Tab则会划分出不同的段落 一般的段落不需要用空白或换
  • GFPGAN源码分析—第十四篇

    项目总结 1 简述思想 本项目主要是利用预训练好的GAN生成器 StyleGAN 作为先验实现低质量人脸图片的修复 论文中提到 1 We leverage rich and diverse generative facial priors
  • vue中实现el-table点选和鼠标框选功能

    实现思路 项目有两个需求 既能在el table实现点选又能实现鼠标框选 一 点选实现思路 使用el table的cellClick方法 1 直接给点击的cell添加类名 cell classList add blue cell 然后把获取
  • golang 读取文件最后一行_测试用例是开发人员最后一块遮羞布

    最近一周写一个比较复杂的业务模块 越写到后面真心越心虚 操作越来越复杂了 代码也逐渐凌乱了起来 比如一个接口 传入的是一个比较复杂的大json 我需要解析这个大json 然后根据json中字段进行增删改查 调用第三方服务等操作 告诉前端接口
  • 微信支付配置流程

    微信支付配置流程 1 微信支付配置 微信公众号平台 gt 如果没有正式域名就要在安全中心配置白名单IP 2 微信公众号 微信公众号设置 gt 在功能设置里面的网页授权域名 3 商户号 产品中心 gt 开发配置 gt 配置jsApi支付页面的
  • vue3中a-table表格默认选中禁止选择

    效果 代码 使用row selection中的getCheckboxProps属性 其中preserveSelectedRowKeys属性设置为true 是为了表格切换页的时候 保留其他页面选中的数据 点击按钮 出现弹窗 const add