uni-app:实现表格多选及数据获取

news2024/11/24 22:29:50

 效果:

 

 代码:

<template>
	<view>
		<scroll-view scroll-x="true" style="overflow-x: scroll; white-space: nowrap;">
			<view class="table">
				<view class="table-tr">
					<view class="table-th1">
						<checkbox-group @tap="checkAll">
							<checkbox :checked="allChecked" />
						</checkbox-group>
					</view>
					<view class="table-th2">姓名</view>
					<view class="table-th2">年龄</view>
					<view class="table-th3">地点</view>
				</view>

				<view class="table-tr" v-for="(item, index) in list" :key="index">
					<view class="table-td1">
						<checkbox-group @change="checkClick(item)">
							<checkbox :checked="item.checked" />
						</checkbox-group>
					</view>
					<view class="table-td2">{{item.name}}</view>
					<view class="table-td2">{{item.age}}</view>
					<view class="table-td3">{{item.address}}</view>
				</view>
			</view>
		</scroll-view>
		<view>
			<text>数组数据</text>
			<view>{{selectedData}}</view>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				selectedData: [],
				allChecked: false,
				inputs: "",
				list: [{
						name: "张三",
						age: 21,
						checked: false,
						address: '波兰斯维诺乌伊希切',
					},
					{
						name: "李四",
						age: 22,
						checked: false,
						address: '冰岛尼斯湖',
					},
					{
						name: "王五",
						age: 23,
						checked: false,
						address: '云南西双版纳',
					},
					{
						name: "赵六",
						age: 41,
						checked: false,
						address: '阿尔卑斯雪山',
					},
				],
			}
		},
		methods: {
			// 单个的选择
			checkClick(item) {
				item.checked = !item.checked
				// console.log(item)
				if (item.checked) {
					this.selectedData.push(item);
				} else {
					const index = this.selectedData.findIndex(data => data === item);
					if (index !== -1) {
						this.selectedData.splice(index, 1);
					}
				}
				if (!item.checked) {
					this.allChecked = false
				} else {
					// 判断单个是否是被选择的状态
					const goods = this.list.every(item => {
						return item.checked === true
					})
					if (goods) {
						this.allChecked = true
					} else {
						this.allChecked = false
					}
				}
				console.log(this.selectedData)
			},
			//全选与全不选
			checkAll() {
				this.allChecked = !this.allChecked;
				if (this.allChecked) {
					this.list.map(item => {
						item.checked = true;
						if (!this.selectedData.includes(item)) {
							this.selectedData.push(item);
						}
					});
				} else {
					this.list.map(item => {
						item.checked = false;

						const index = this.selectedData.findIndex(data => data === item);
						if (index !== -1) {
							this.selectedData.splice(index, 1);
						}
					});
				}
				console.log(this.selectedData)
			}
		}
	}
</script>
<style>
	/* 表格样式 */
	.table {
		margin-top: 5%;
		font-size: 85%;
		display: table;
		width: 200%;
		border-collapse: collapse;
		box-sizing: border-box;
	}

	.table-tr {
		display: table-row;
	}

	.table-th1 {
		width: 5%;
		display: table-cell;
		font-weight: bold;
		border: 1rpx solid gray;
		background-color: #51aad6;
		text-align: center;
		vertical-align: middle;
		padding: 10rpx 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
	}

	.table-th2 {
		width: 20%;
		display: table-cell;
		font-weight: bold;
		border: 1rpx solid gray;
		background-color: #51aad6;
		text-align: center;
		vertical-align: middle;
		padding: 10rpx 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
	}

	.table-th3 {
		width: 50%;
		display: table-cell;
		font-weight: bold;
		border: 1rpx solid gray;
		background-color: #51aad6;
		text-align: center;
		vertical-align: middle;
		padding: 10rpx 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
	}

	.table-td1 {
		width: 5%;
		display: table-cell;
		border: 1rpx solid gray;
		text-align: center;
		vertical-align: middle;
		padding: 10rpx 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
	}

	.table-td2 {
		width: 20%;
		display: table-cell;
		border: 1rpx solid gray;
		text-align: center;
		vertical-align: middle;
		padding: 10rpx 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
	}

	.table-td3 {
		width: 50%;
		display: table-cell;
		border: 1rpx solid gray;
		text-align: center;
		vertical-align: middle;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-all;
		/* padding: 5px 0; */
	}
</style>

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

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

相关文章

探索Vue组件通信的秘密:打破隔阂,实现数据共享

一、Vue组件通信 每个组件都有自己的数据, 提供在data中, 每个组件的数据是独立的, 组件数据无法互相直接访问 (合理的)但是如果需要跨组件访问数据, 就需要用到组件通信 要是有一万个商品&#xff1f;&#xff1f;&#xff1f;&#xff1f;就要写一万个吗&#xff1f;函数调用…

DevExpress WPF Tree List组件,让数据可视化程度更高!(二)

DevExpress WPF Tree List组件是一个功能齐全、数据感知的TreeView-ListView混合体&#xff0c;可以把数据信息显示为REE、GRID或两者的组合&#xff0c;在数据绑定或非绑定模式下&#xff0c;具有完整的数据编辑支持。 在上文中&#xff08;点击这里回顾DevExpress WPF Tree …

【如何更加高效从容地管理应用程序安全?《Python全栈安全》告诉你】

安全是一个全栈性问题&#xff0c;包括用户接口、API、Web服务器、网络基础设施等。通过掌握强大的库、框架以及Python生态系统中的工具&#xff0c;你可自上而下地保护自己的系统。本书列举大量实例&#xff0c;插图清晰&#xff0c;代码丰富&#xff0c;准确地告诉你如何保护…

【javaSE】 抽象类

目录 抽象类概念 抽象类语法 抽象类特性 1. 抽象类不能直接实例化对象 2. 抽象方法不能是 private 的 3. 抽象方法不能被final和static修饰 4. 抽象类必须被继承&#xff0c;并且继承后子类要重写父类中的抽象方法 5. 抽象类中不一定包含抽象方法&#xff0c;但是有抽象…

k8s部署xxl-job分布式任务调度服务

一、背景 什么时候需要把xxl-job部署到k8s里 当你的java服务部署到K8S后&#xff0c;因为xxl-job的任务调度器需要对注册上来的执行器进行健康检测&#xff0c;而java服务作为执行器&#xff0c;注册地址是pod的Ip地址&#xff1b;所以&#xff0c;调度器想要访问执行器的网路…

自动化测试的生命周期是什么? qt

&#xfeff;Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含&#xff1a;录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署&#xff0c;免费售…

台式机/工控机通过网线共享笔记本电脑无线网络linux系统下 usb网卡的驱动安装

一、台式机/工控机通过网线共享笔记本电脑无线网络 1、 将台式机通过网线和笔记本连接。 2、 将笔记本的“本地连接”和“无线网络连接”的ipv4均设置为自动获取。 4.修改台式机的IP地址为如下&#xff08;对应笔记本信息&#xff09; IP地址为192.168.XXX.12 子网掩码为255.2…

JavaSE【继承、初始化、pretected封装、组合】

一、继承 继承 (inheritance) 机制 &#xff1a;是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特 性 的基础上进行扩展&#xff0c;增加新功能 &#xff0c;这样产生新的类&#xff0c;称 派生类 。 继承呈现了面向对象程序设计的层次结…

MP4如何转MP3?教你简单好用的转换方法

怎么将MP4格式的视频转换成MP3音频呢&#xff1f;相信大家在看短视频的时候&#xff0c;有的视频背景音乐非常好听&#xff0c;我们又搜不到这个音频的源声在哪里&#xff0c;这时候我们就可以将这段视频直接转换成MP3格式音频&#xff0c;用来当做铃声或者是闹钟非常合适&…

Python web实战之 Django 的 MVC 设计模式详解

技术栈&#xff1a;Python、Django、HTML、CSS、JavaScript。 概要 在 Web 开发中&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;模式是一种非常常见的设计模式&#xff0c;它可以帮助我们更好地管理代码&#xff0c;提高代码的可维护性。今天就介绍如何使用 …

量子力学的应用:量子通信和量子感应

亲爱的读者&#xff0c; 欢迎回到我们的量子力学系列文章。在前面的几篇文章中&#xff0c;我们已经深入探讨了量子力学的起源、基本概念、实验验证以及解释问题&#xff0c;以及量子计算的应用。今天&#xff0c;我们将继续探讨量子力学的另外两个引人注目的应用领域&#xf…

ubuntu git操作记录设置ssh key

用到的命令&#xff1a; 安装git sudo apt-get install git配置git用户和邮箱 git config --global user.name “用户名” git config --global user.email “邮箱地址”安装ssh sudo apt-get install ssh然后查看安装状态&#xff1a; ps -e | grep sshd4. 查看有无ssh k…

最新补丁让OpenBSD终于能够进行AMD CPU微码更新

导读最新的 OpenBSD”current”代码终于开始支持 AMD CPU 微代码更新。 通过本周末合并到 OpenBSD 中的一组补丁&#xff0c;现在用户可以更新 AMD 处理器的 CPU 微代码了。 ports/sysutils/firmware/amd 也被添加进来&#xff0c;用于推送所有的 AMD CPU 微代码二进制文件。 …

基于照片对天线进行全波分析(详细分解步骤)

诸如NFC、RFID和物联网系统传感器等无线应用均受益于印刷在塑料基板上的低成本天线。然而&#xff0c;当天线集成到系统中时&#xff0c;数据手册的指标与天线的实际行为及其与相邻结构的相互作用之间通常存在不匹配现象。在这种情况下&#xff0c;就需要执行更高级的分析&…

【严重】Smartbi商业智能BI软件权限绕过漏洞

漏洞描述 Smartbi是一款商业智能应用&#xff0c;提供了数据集成、分析、可视化等功能&#xff0c;帮助用户理解和使用他们的数据进行决策。 在Smartbi受影响版本中存在权限绕过问题&#xff0c;未授权的攻击者可以通过 RMI 的方式调用 getPassword 接口获取管理员token信息。…

高忆管理:创业板中签第一天卖吗?

跟着科技进步和改革开放的深入发展&#xff0c;我国的股票商场继续火热。随之而来的是越来越多的新股发行。关于股民们来说&#xff0c;怎么抢到新股成为了一个热点话题。在最近的一次创业板新股发行中&#xff0c;中签率再创新高&#xff0c;让不少股民欣喜不已。但是&#xf…

二、JVM-深入运行时数据区

深入运行时数据区 计算机体系结构 JVM的设计实际上遵循了遵循冯诺依曼计算机结构 CPU与内存交互图&#xff1a; 硬件一致性协议&#xff1a; MSI、MESI、MOSI、Synapse、Firely、DragonProtocol 摩尔定律 摩尔定律是由英特尔(Intel)创始人之一戈登摩尔(Gordon Moore)提出来…

输入框长度在XSS测试中如何绕过字符长度限制

大家好&#xff0c;这是我编写的第一篇文章&#xff0c;之所以会分享这个故事&#xff0c;是因为我花了几个晚上的时间&#xff0c;终于找到了解决某个问题的方法。故事如下&#xff1a; 几个月前&#xff0c;我被邀请参加一个非公共的漏洞悬赏项目&#xff0c;在初期发现了一些…

汽车行业案例 | 联合汽车电子全新质量问题管理平台上线,燕千云助力汽车电子领军者实现数字化质量管理

据权威调研机构显示&#xff0c;2022年中国智能电动汽车的销量已占新能源汽车的52%以上。到2025年&#xff0c;在新能源汽车50%的汽车出行市场渗透率的基础上&#xff0c;智能电动汽车的销量将超1220万辆&#xff0c;占新能源汽车的80.1%。在技术进步和产业变革快速推进的背景下…

curl命令详解及设置代理服务器

目录 概述 Linux Curl命令详解 Curl命令参数 Curl模仿浏览器命令 Curl模仿浏览器详解 模仿浏览器 Curl伪造refer命令 Curl伪造refer详解 伪造refer Curl下载文件或网页详解 Curl下载进度条命令 Curl下载进度条详解 Curl断点续传命令 Curl断点续传详解 断点续传 …