ant-design-vue的table组件的首列复选框设置问题,包括设置默认选中,设置禁选条件

news2024/11/15 7:23:26

想要使用表格的复选框列并控制复选框是否可选,先上代码如下

html部分
  <a-table :rowKey="(record,index)=>{return record.id?record.id: index}"
      :columns="columns" :data-source="tableData"
             :row-selection="showSelection?rowSelection: null"
             :pagination="pagination">
      <template slot="isWarn" slot-scope="text">
        <span style="color: #D9001B;">{{ text==='1'?'预警': '未预警' }}</span>
      </template>
</a-table>

js部分
data() {
	return {
		showSelection: true,
		pagination: {
          total: 0,
          pageSize: 10, // 每页中显示10条数据
          showSizeChanger: true,
          showQuickJumper: true,
          current: 1,
          pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据
          // showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据 this.$t('COMMON.INTER_TOTAL', { total }), //
          // showTotal: (total, range) => `共 ${total} 条记录,第${this.pagination.current}`,
          onChange: (pageNumber) => {
            this.pagination.current = pageNumber;
            this.getOrderListFn();
          },
          onShowSizeChange: (current, pageSize) => {
            this.pagination.pageSize = pageSize;
            this.pagination.current = 1;
            this.getOrderListFn();
          }
        },
        columns: [
	       	{
	           title: '是否预警',
	            dataIndex: 'isWarn',
	            key: 'isWarn',
	            scopedSlots: { customRender: 'isWarn' }
	          },
	          {
	           title: '状态',
	            dataIndex: 'checkState',
	            key: 'checkState'
	          }
        ],
        tableData: [
        	{
				id: 1,
				checkState: null,
				isWarn: '1'
			},
			{
				id: 2,
				checkState: 1,
				isWarn: '0'
			},
			{
				id: 3,
				checkState: null,
				isWarn: '2'
			}
		],
	}
},
computed: {
	rowSelection() {
        return {
          onChange: (selectedRowKeys, selectedRows) => {
            console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
            this.selectedRowKeys = selectedRowKeys;
          },
          getCheckboxProps: (record) => ({
            props: {
              disabled: !record.checkState, // 禁选的条件
            }
          }),
          selectedRowKeys: this.selectedRowKeys,// 可以通过给this.selectedRowKeys赋值来设置默认选中项,注意,如果有禁选条件,赋值时要把禁选的给剔除掉
          // onSelectAll: (selected, selectedRows) => {
          //   // 重置全选状态,确保禁用的复选框不会被选中
          //   const newSelectedRows = selectedRows.filter(row => !row.checkState||!row.sendState);
          //   console.log('newSelectedRows', newSelectedRows);
          //   return newSelectedRows
          //   // 其余逻辑保持不变
          // },
        };
      },
	}
注意的点如下

1、给表格设置rowKey时,尽量不用索引来设置,使用索引来设置会出现禁选项虽然禁选了,但是点击表头全选框的时候依然能被选中的情况,如下图
在这里插入图片描述

2、rowSelection写在computed里
3、有禁选项时,给表格行设置默认选中时需要把禁选的项给剔除掉

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

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

相关文章

html+css网页设计 个人网页《我的2023》3个页面

htmlcss网页设计 个人网页《我的2023》3个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 …

React Native键盘的两种适配方案

方案一&#xff1a; import {KeyboardAvoidingView} from react-native; import {useHeaderHeight} from react-navigation/elements;const headerHeight useHeaderHeight();<KeyboardAvoidingViewbehavior{padding}keyboardVerticalOffset{headerHeight}style{styles.con…

投稿必看——计算机类SCI全名单汇总

【SciencePub学术】本期&#xff0c;小编给大家总结了计算机领域的SCI全名单&#xff0c;以供此领域的学者们投稿参考&#xff01; 来源&#xff1a;WOS数据库 目前&#xff0c;被WOS数据库收录的计算机类SCI期刊共518本&#xff0c;影响因子最高的当属《IEEE Communications S…

【MySQL进阶之路】事务的隔离级别

目录 引言 隔离级别概览 查看与设置隔离性 不同隔离级别的问题 脏读 不可重复读 幻读 串行化隔离级别的效率问题 总结 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 引言 事务的隔离级别——不同事务访问同一份数据时相互影响的程度。 多事务并发的在MySQL服务上跑…

Python 爬虫爬取豆瓣电影列表信息,爬虫的原理,应用领域介绍学习

1. 什么是Python 爬虫 定义&#xff1a;爬虫是一种自动化程序&#xff0c;能够遍历互联网上的各个网页&#xff0c;并根据预设的规则和算法来解析和收集感兴趣的信息。这些信息可以包括网页的文本内容、图片、链接、视频等。 功能&#xff1a;爬虫可以自动化执行重复、繁琐的任…

张家口近期学术会议推荐

随着科技的飞速发展&#xff0c;机器视觉、图像处理与影像技术已成为推动工业自动化、智能制造、医疗诊断、航空航天及日常生活等多个领域变革的关键力量。 为了进一步促进这一领域的学术交流与合作&#xff0c;第二届机器视觉、图像处理与影像技术国际会议&#xff08;MVIPIT…

现在的ai是否和当年的5g一样被夸大了

最强AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 看有的回答唱衰AI没多大价值或AI被无限夸大&#xff0c;那我更觉得你是没整明白如何用好AI&#xff0c;或者说你对AI的理解仅浮于…

在Windows 系统中开启IIS(‌Internet Information Services)‌服务

在Windows 系统中开启IIS&#xff08;‌Internet Information Services&#xff09;‌服务&#xff0c;‌用户可以通过以下步骤进行操作&#xff1a;‌ 首先&#xff0c;打开“控制面板”。‌ 在控制面板中&#xff0c;‌点击“程序”选项。‌ 接着&#xff0c;‌选择“启动或…

golang gin template模板渲染

1、根据值控制html元素显示隐藏 main.go package main import ("html/template""net/http""github.com/gin-gonic/gin" ) func main() {r : gin.Default()r.SetFuncMap(template.FuncMap{"greaterThan": func(a, b int) bool {retur…

jieba分词和RecursiveCharacterTextSplitter分词

目录 jieba 分词本身特点使用方法输出结果 RecursiveCharacterTextSplitter 分词本身特点使用方法 jieba 分词 jieba&#xff08;中文名&#xff1a;结巴&#xff09;是一个广泛使用的中文分词库&#xff0c;它支持三种分词模式&#xff1a; 精确模式&#xff1a;试图将句子最…

Spring:浅谈对SpringBean的认识

一、SpringBean的生命周期 1、实例化bean对象&#xff1a;通过反射的方式进行对象的创建&#xff0c;此时的创建只是在堆空间中申请空间&#xff0c;属性都是默认值。 2、设置对象属性&#xff1a;给对象中的属性进行值的设置工作。 3、检查Aware相关接口并设置相关依赖&#x…

【书生大模型实战营第三期 | 进阶岛第6关-MindSearch 快速部署】

学习心得&#xff1a;MindSearch 快速部署 摘要 本课程是关于如何将MindSearch部署到Github Codespace和Hugging Face Space的详细指南。通过学习本课程&#xff0c;我深入理解了MindSearch的部署流程&#xff0c;包括环境配置、API Key获取、后端和前端的启动&#xff0c;以及…

Unity | 性能标准分析工具图形API简介

目录 一、相关术语 1.物理页 2.PSS内存 3.Reserved Total 二、耗时推荐值 三、内存推荐值 四、分析工具 1.Profiler &#xff08;1&#xff09;Profiler各平台对比 &#xff08;2&#xff09;构建到目标平台 &#xff08;3&#xff09;Frame数量修改 &#xff08;4…

正则表达式分离文字和数字并且展示整数或者小数

1、完整示例 function formatFrequency(value) {// 匹配整数和浮点数return value.replace(/(\d(\.\d)?)/g, (match) > {const num parseFloat(match);return Number.isInteger(num) ? num : num.toString();});}// 测试用例const test1 "hhh1天3片";const t…

GitHub开源的网盘系统-Cloudreve

Cloudeve 项目地址 特性&#xff1a; ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 、S3兼容协议 作为存储端 &#x1f4e4; 上传/下载 支持客户端直传&#xff0c;支持下载限速 &#x1f4be; 可对接 Aria2 离线下载&#xff0c;可…

从“炫技”到“服务”,国产人形机器人“抢滩”未来产业赛道

图为2024世界机器人大会上展示的人形机器人。新华社记者 李欣 摄 正在北京举办的2024世界机器人大会上&#xff0c;27款人形机器人“争奇斗艳”&#xff0c;不仅参展规模创历届之最&#xff0c;还成为展会上当仁不让的“人气王”&#xff0c;几乎每个展台都围满了人。 人形机…

汽车DV与PV测试

技术的快速进步和消费者对高质量汽车的需求不断推动着汽车行业的发展。为了确保每一辆汽车在设计和生产过程中都能达到最高标准&#xff0c;DV&#xff08;Design Verification&#xff0c;设计验证&#xff09;和 PV&#xff08;Production Validation&#xff0c;生产验证&am…

VMware虚拟机IP地址频繁变化的解决方法?测试可用

问题&#xff1a; 在使用vmware时&#xff0c;虚拟机的IP总是变&#xff0c;每次操作都要重新获取一下ip&#xff0c;重新走一遍流程&#xff0c;比较繁琐。 原因&#xff1a; 虚拟机有默认的租用时间&#xff0c;到了租用时间就会更换IP. 解决方式&#xff1a; 打开VMwar…

LLM - GPT(Decoder Only) 类模型的 KV Cache 公式与原理 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/141605718 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 在 GPT…