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

uniapp自定义圆形勾选框和全选框

自定义圆形勾选框和全选框
在这里插入图片描述
在这里插入图片描述

原来用的checkbox

	dataList: [],//数据列表allChecked: false,//是否全选selectList: [],//选中的id列表selectNameList: [],//选中的name列表
	<!--checkbox start --><!--单选--><view class="li" v-for="(item,index) in  dataList" :key="index" @click="btnApprove(item)"><checkbox :checked="selectList.length > 0 && selectList.indexOf(item.enrollId) !== -1"class="w30 h64 lh-54"@click.stop="btnClickSpeciality(item, '')"style="transform: scale(0.8) translateY(0px);margin-left:15px;"/></view><!--全选--><view class="h70" v-if="dataList.length > 0"></view><view class="bottomStatus" v-if="dataList.length > 0"><checkbox :checked="allChecked" @click="handleSelectionChange(!allChecked)" />全选<view class="refuse">驳回</view><view class="sure">同意</view></view><!--checkbox end -->
	<!--自定义checkbox start --><!--自定义圆形勾选框 单选--><view v-if="curValue==0" style="margin-right: 15px;"><!--已选中--><view class="el-radio__input is-checked" v-if="selectList.length > 0 && selectList.indexOf(item.enrollId) !== -1" @click.stop="btnClickSpeciality(item, '')"><text class="iconfont icon-success" style="color: white;"></text></view><!--未选中--><view class="el-radio__input" v-else @click.stop="btnClickSpeciality(item, '')"></view></view><view class="h70" v-if="dataList.length > 0"></view><view class="bottomStatus" v-if="dataList.length > 0"><!--自定义圆形勾选框 多选--><view style="margin-right: 15px;"><!--已选中--><view class="el-radio__input is-checked" v-if="allChecked" @click="handleSelectionChange(!allChecked)"><text class="iconfont icon-success" style="color: white;"></text></view><!--未选中--><view class="el-radio__input" v-else @click="handleSelectionChange(!allChecked)"></view></view>全选</view><view class="refuse" @click="btnAllRefuse">驳回</view><view class="sure" @click="btnSure">同意</view></view><!--自定义checkbox end -->
  // 点击单选btnClickSpeciality(row) {let index = this.selectList.indexOf(row.enrollId);if (index !== -1) {this.selectList.splice(index, 1);this.selectNameList.splice(index, 1);} else {this.selectList.push(row.enrollId);this.selectNameList.push(row.studentName)}this.checkAll();},// 全选checkAll() {if (this.dataList && this.dataList.length > 0) {let checkList = this.dataList.filter(a => this.selectList.find(b => a.enrollId == b));console.log("checkList===", checkList);if (this.dataList.length == checkList.length) {this.allChecked = true;} else {this.allChecked = false;}} else {this.allChecked = false;}},// 点击全选handleSelectionChange(e) {if (e) {let list = this.dataList.filter((a) => !this.selectList.find(b => a.enrollId == b));list.map(row => {this.btnClickSpeciality(row);})} else {let list = this.dataList.filter((a) => this.selectList.find(b => a.enrollId == b));list.map(row => {this.btnClickSpeciality(row);})}},
http://www.dtcms.com/a/294523.html

相关文章:

  • 软件开发、项目开发基本步骤
  • MCU芯片AS32S601在卫星光纤放大器(EDFA)中的应用探索
  • NineData新增SQL Server到MySQL复制链路,高效助力异构数据库迁移
  • ubuntulinux快捷键
  • 「iOS」——KVC
  • ubuntu22.04 python升级并安装pip命令
  • 轻量化RTSP视频通路实践:采集即服务、播放即模块的工程解读
  • 第十讲:stack、queue、priority_queue以及deque
  • LeetCode 热题100:160.相交链表
  • [CH582M入门第十步]蓝牙从机
  • Acrobat JavaScript Console 调试控制台
  • 关于网络安全等级保护的那些事
  • 【MyBatis-Plus】核心开发指南:高效CRUD与进阶实践
  • 基于Kafka实现简单的延时队列
  • XiangJsonCraft:用JSON快速构建动态HTML页面的利器
  • 第十章 W55MH32 SNTP示例
  • LarkXR实时云渲染支持Quest客户端手势操作:免手柄直控云XR应用
  • 刷完jetpack后无法打开安装的浏览器的解决办法useful
  • arm64架构开发板上调用奥比中光深度摄像头用于视觉测距
  • Linux -- 进程【下】
  • OpenHarmony BUILD.gn中执行脚本
  • 全连接队列
  • 【Ansible】Ansible 管理 Elasticsearch 集群启停
  • 【提示词技巧】高级提示方法与框架
  • 机器学习优化技术深度解析:自适应优化器对比与Adam的二阶矩偏差修正证明
  • 系统学习算法:专题十四 链表
  • AI黑科技:GAN如何生成逼真人脸
  • 基于 Qiankun 的微前端实践案例:电商平台多模块整合方案
  • HCIP笔记
  • 在 macOS 上 安装最新 Python 和 pip