使用vue实现复选框单选多选
界面样式:
<div class="right_con" v-if="isClickApply" style="border:none">
<table class="work-table base-table">
<thead>
<tr>
<th>
<Checkbox v-model="hasAllChecked" @on-change="chooseAll"></Checkbox>
</th>
<th style="text-align:left;width:30%">姓名</th>
<th style="width:30%">手机号码</th>
<th style="width:30%">申请时间</th> <th style="width:10%">操作</th>
</tr>
</thead>
<tbody v-if="applyUserList&&applyUserList.length>0">
<tr v-for="(item,index) in applyUserList" :key="index">
<td>
<Checkbox
v-model="item.hasSelected"
@on-change="chooseSingle(item)"
></Checkbox>
</td>
<td>{{item.trueName}}</td>
<td>{{item.phone}}</td>
<td>{{item.addTime}}</td>
<td style="display:flex;aligin-items:center">
<Button class="agree" @click="agreeClick([item.id])">通过</Button>
<!-- <div class="agree" @click="agreeClick([item.id])">通过</div> -->
<!-- <div class="disagree" @click="disagreeClick([item.id])">驳回</div> -->
<Button class="disagree" @click="disagreeClick([item.id])">驳回</Button>
</td>
</tr>
</tbody> <tbody v-else>
<tr style="text-align: center;">
<td colspan="5">暂无数据</td>
</tr>
</tbody>
</table> <Page
show-total
:total="total"
:page-size="size"
:current="current"
@on-change="changePage"
class="page_switch_class"
v-if="applyUserList&&applyUserList.length>0"
/>
</div>
关键参数:
hasAllChecked(是否全选) 全选方法:
// 全选
chooseAll(val) {
var self = this
if (val) {
self.applyUserList.forEach(ele => {
ele.hasSelected = true
})
} else {
self.applyUserList.forEach(ele => {
ele.hasSelected = false
})
}
},
解释:遍历要显示的数组,手动为每一项增加hasSelected参数,点击全选时,将所有参数中hasSelected置为true,反之亦然。
单选方法:
// 单选
chooseSingle(item) {
var self = this
self.hasAllChecked = true
self.applyUserList.forEach(ele => {
if (!ele.hasSelected) self.hasAllChecked = false
})
},
解释:先将代表全选的hasSelected置为true,遍历要显示的数组,若数组中有已被选中的项,则将hasSelected置为false,代表非全选。
批量通过:
// 批量通过
agreeAll() {
var self = this
var isSelected = false
self.applyUserList.forEach(ele => {
if (ele.hasSelected) isSelected = true
}) if (isSelected) {
var members = []
self.applyUserList.forEach(ele => {
if (ele.hasSelected) members.push(ele.id)
})
self.agreeClick(members)
} else {
self.$app.error('您还没有选择需要审批的成员')
}
},
批量驳回:
// 批量驳回
disagreeAll() {
var self = this
var isSelected = false
self.rejectIds = []
self.applyUserList.forEach(ele => {
if (ele.hasSelected) isSelected = true
}) if (isSelected) {
self.applyUserList.forEach(ele => {
if (ele.hasSelected) self.rejectIds.push(ele.id)
})
self.title =
self.rejectIds.length > 1 ? '批量驳回原因' : '驳回原因'
self.rejectReason = ''
self.modal12 = true
} else {
self.$app.error('您还没有选择需要审批的成员')
}
},
使用vue实现复选框单选多选的更多相关文章
- javascript实现复选框单选多选!
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Vue复选框的全选
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- [CSS]复选框单选框与文字对齐问题的研究与解决.
前言:今天碰到的这个问题, 恰好找到一个很好的博文, 在这里转载过来 学习下. 原文地址:复选框单选框与文字对齐问题的研究与解决. 目前中文网站上面的文字,就我的个人感觉而言,绝大多数网站的主流文字大 ...
- ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
ylbtech-DatabaseDesgin:ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计 -- DatabaseName:通用表结构-- -- 主要是针对将要设计的表对象, ...
- 关于SWT常用组件(按钮,复选框,单选框(Button类))
Button是SWT中最常用的组件.Button类的继承关系图: Button类的构造方法是newe Button(Composite parent,int style)它有两个参数: 第一个参数:是 ...
- MFC控件编程之复选框单选框分组框
MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...
- ztree根据参数动态控制是否显示复选框/单选框(静态JSON数据)
本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:ztree根据参数动态控制是否显示复选框/单选框(静态JSON数据): 现有全省各地区静态JSON数据,现在想通过Url参数,动态控制是否显 ...
- sencha gridpanel checkbox 复选框的勾选 以及和单机行冲突
gridpanel显示checkbox: 添加SelectionModel为Checkbox Selection Model { xtype: 'gridpanel', id: 'Grid1', he ...
- js实现复选框的全选、全不选、反选
js中实现复选框的全选,全不选以及反选,分为两种情况: (1)选中“请选择”前面的复选框实现全选,不选中“请选择”前面的复选框实现全不选 <!DOCTYPE html PUBLIC " ...
随机推荐
- PTA甲级B1061 Dating
目录 B1061 Dating (20分) 题目原文 Input Specification: Output Specification: Sample Input: Sample Output: 生 ...
- linux查看硬件、系统信息
查看机器型号等 dmidecode 是一个读取电脑 DMI(桌面管理接口(Desktop Management Interface))表内容并且以人类可读的格式显示系统硬件信息的工具.这个表包含系统硬 ...
- 洛谷【P2022 有趣的数】 题解
题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...
- 控制input中只能输入固定格式内容
onkeyup 事件会在键盘按键被松开时发生,onafterpaste 是粘贴触发,没有这个事件用onblur吧,失去焦点时发生输入完,点其他地方就会执行. <html lang="e ...
- JS 动态改变浏览器title标题
onfocus 和 onblur 事件,监听离开页面和进入页面 <script> window.onfocus = function () { document.title = '要走的人 ...
- A1958
Magic Girl Haze T组 n个点,m条有向含权边,可以选择不超过k条边,将其权值变为0. 问点1到点n的最短距离是多少? 1≤T≤5n≤105m≤2×105k≤10wi≤109 1\leq ...
- ECMAScript基本语法——⑥流程控制语句
if...else...switch...case... 在java中能接收的数据类型:byte .short.char.int.枚举类型(JDK5.0新增).String类型(JDK7.0新增) s ...
- SmtpStatusCode Enum
- 关闭Apache的目录浏览功能
一.默认情况 默认情况下,Apache的配置文件C:\web\apache2.4\conf/httpd.conf中有如下参数: 引用 <Directory "/var/www/html ...
- mysql 表中数据不存在则插入,否则更新数据
在很多时候我们会操作数据库表,但是在向表中插入数据时,会遇到表中已经存在该id的数据或者没有该id的数据的情况,没有该id的数据的情况时直接插入就OK,遇到已经存在该id的数据的情况则更新该id的数据 ...