实现目的:实现全选与多选,点击确定的时候获取每个值的id传给后台

1、HTML

 <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<el-checkbox v-for="(city,i) in cities" :label="city.uuid" :key="i" v-model="city.relation"
@change="handleCheckedCitiesChange">{{city.customerName}}</el-checkbox> <span slot="footer" class="dialog-footer">
<el-button type="primary" :disabled="disabled" @click="classifyConfirm">确定</el-button>
<el-button type="primary" @click="calceConfirn">取消</el-button>
</span>

2、data

  data: function () {
return { checkAll: false,
cities: [], //数据源
5   }
6 }
      

3、js

 handleCheckAllChange(val) {
if (this.checkAll) {
this.cities.forEach(item => {
item.relation = true //只改变数据的状态
})
} else {
this.cities.forEach(item => {
item.relation = false
})
}
},
handleCheckedCitiesChange() {
console.log(this.checkedCities);
if (this.checkedCities.length == this.cities.length) {
this.checkAll = true
} else {
this.checkAll = false
}
},
 //确认
classifyConfirm() {
var checkedAll = [];
this.cities.forEach(item => {
if(item.relation == true){
checkedAll.push(item.uuid) //确认的时候取状态为true的值,并把要用的字段取出来
}
})
// var checkedAll = [...new Set(this.checkedCities)] //数组去重
var that = this;
var data = {
"customerUuid":that.customerUuid,
"projectCustomerUuid":checkedAll.join(',')
};
console.log(checkedAll)
this.classLoading = true;
$.ajax({
url: Domain + '/xxxxx',
dataType: "json",
method: "POST",
// contentType: "application/json; charset=utf-8",
data:data,
success: function (ret) {
if (ret.retStatus == "1") {
that.$message({
type: 'success',
message: '保存成功!'
});
that.classLoading = false; }
}
})
},

最开始在改变状态的时候就想着取id了,导致后面一系列的问题,后面经过大佬的提醒,在最开始的时候不要取值,只改变状态就行,最后提交的时候遍历数组,然后把每一项里面为true的取出来就可以了,很简单就解决了

或者html 这样写也可以:

<el-checkbox :indeterminate="roleIsIndeterminate" v-model="roleCheckAll" @change="handleRoleAllChange" :disabled="isAllChecked || onlyAllDisabled">全选</el-checkbox>
<el-checkbox-group v-model="checkedRoles" @change="handleCheckedRolesChange">
<el-checkbox v-for="role in roleList" :label="role.id" :key="role.id" :disabled="role.disabled">{{role.name}}</el-checkbox>
</el-checkbox-group>

el-checkbox实现全选与单选的更多相关文章

  1. jQuery checkbox的全选与反选

    1:checkbox的全选与反选 js 代码 $("#cbAll").click(function(){ if($("#cbAll").is(":ch ...

  2. jq pagination分页 全选、单选的思考

    $().pagination(总条数,配置项); 后端分页的跨页选择: 思路:把浏览过的页整体保存为,整体拥有 curPage(当前页码).allChoice(当前页是否全选).selected当前页 ...

  3. checkbox 的全选与全不选

    checkbox 的全选与全不选 只需要调用 cekAll.check();方法,这个方法接收两个参数: 参数一: 全选按钮的 id 以字符串的形式写 参数二: 其他 checkbox 的 name ...

  4. GridView中实现CheckBox的全选

    GridView中实现CheckBox的全选 用服务器端的方法: 在页面上放一个gridview控件,配置好数据源,编辑列, <asp:GridView ID="GridView1&q ...

  5. 通过VBA实现checkbox的全选和反选

    checkbox的全选和反选可以通过VBA来控制,这种设计常见于一些交互式报表,代码如下: 1.分成两个IF判断 Private Sub CheckBox1_Click()  ‘checkbox为总控 ...

  6. jquery checkbox 选中 全选 插件

    checkbox  选中 全选 在项目中经常用到,但是不同的程序员写出的东西各有差异,在此整合了jquery checkbox插件,用起来很方便,也总结了我们项目中通常会出现问题的地方,一行代码搞定. ...

  7. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  8. html checkbox 实现全选/取消全选

    html checkbox  实现全选/取消全选 <html> <body> <table border="1"> <tr> < ...

  9. Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义a ...

  10. jquery中checkbox的全选与反选

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

随机推荐

  1. IO字节流与字符流的操作

    字节流:        FileInputStream读取,FileOutputStream输出 字节流使用数组缓冲区复制文件,最后得出所使用的时间 public class work2 { publ ...

  2. Typora Ubuntu 不显示 加粗

    问题描述: Typora 在 Ubuntu18.04 上面不显示 Markdown 加粗语法 解决办法: 在 Typora's github.css 里面,将 body 修改为如下内容 body { ...

  3. [CSharp]传一个包含多个属性的对象,只改变其中个别属性值的方法

    需求 假如有这么一个需求,一个对象Person内的属性设置外包给了另外一个类Options, 而要设这个Person对象的属性,就必须传一个Options实例, 但又不能每个属性重新设一遍,只设要修改 ...

  4. 7.SortSet排序集合类型操作

    Sort Set排序集合类型 (1)介绍 和set一样sorted set也是string类型元素的集合,不同的是每个元素都会关联一个权.通过权值可以有序的获取集合中的元素 该Sort Set类型适合 ...

  5. Map.Entry的作用

    一般情况下,要输出Map中的key 和 value 是先得到key的集合,然后再迭代(循环)由每个key得到每个value 而Entry可以一次性获得这两个值 Set set = map.keySet ...

  6. java方式实现归并排序

    一.基本思想 归并排序是建立在归并操作上的一种排序算法,该算法是采用分治法的一个典型应用.具体操作如下:所谓的分治就是分而治之,以一分为二的原则,先把序列平均分解成二个左右子序列,然后递归左右二个子序 ...

  7. AUTOSAR-PDU&SDU

    https://mp.weixin.qq.com/s/TZcJcHVnNARMcUac2Es0wQ   PDU: Protocol Data Unit The PDU contains SDU and ...

  8. Rocket - diplomacy - MixedNode

    https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA   介绍MixedNode的实现.     1. 类定义   ​​ ​​   2. inner/ou ...

  9. jchdl - RTL

    https://mp.weixin.qq.com/s/gNN2eiJnr9N02xdZVQceDQ   ​​   相较于GSL层对物理连接的建模,RTL层提高了一个抽象层次: 把物理的触发器提取为抽象 ...

  10. 前端HTML学习 table标签 知识点与使用

    表格基本结构 <table> <tr> <td>单元格</td> </tr> </table> < tr >表示 行 ...