当前位置: 首页 > news >正文

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

 效果:

 

 代码:

<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.lryc.cn/news/105373.html

相关文章:

  • 【图论】树上差分(点差分)
  • 【wrk2】轻量级性能测试工具
  • 华为云低代码平台Astro Canvas 搭建汽车展示大屏——实验指导手册
  • Nodejs 第七章(发布npm包)
  • Spring?Boot项目如何优雅实现Excel导入与导出功能
  • lable 某个名称换行 \n /n /br axisLabel换行 文字换行 echarts
  • 025 - max()函数
  • JDK 8.x 微服务启动JVM参数调优实战
  • Web与HTTP
  • 算法刷题Day 56两个字符串的删除操作+编辑距离
  • Flutter中Dart语言常用知识
  • 11万多英藏对照词典英藏翻译ACCESS\EXCEL数据库
  • 浅谈C语言分支循环语句
  • Spring Boot Starter 剖析与实践 | 京东云技术团队
  • 技术能力提升-《系统架构设计师教程》
  • 【LeetCode 热题 100】矩阵 专题(大多原地算法,需要一定思维)
  • Java 中为什么要把一个数模(10^9+7)
  • RPC与REST有什么区别?
  • 时间复杂度介绍及其计算
  • etcd实现大规模服务治理应用实战
  • 目标检测中 anchor base和anchor free
  • TypeC拓展设计方案|TypeC转HDMI设计方案|CS5261/CS5265芯片设计参数对比
  • SQL Developer中的Active Data Guard
  • 谈谈FFT到底有何用
  • MATLAB | 如何绘制这样的描边散点图?
  • 偶数科技与白鲸开源完成兼容性认证
  • 【机器学习】Feature scaling and Learning Rate (Multi-variable)
  • windows编译ncnn
  • C++和Lua交互总结
  • nvm安装和切换node版本