vue el-checkbox实现全选单选方式

 更新时间:2024年03月08日 08:29:42   作者:泡芙is  
这篇文章主要介绍了vue el-checkbox实现全选单选方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue el-checkbox全选单选

要求的页面结构

是这样的

遇到了许多问题

如:点击tab切换后 全选按钮要点击2次可以生效。。。

我这里就不一 一多说了。直接上代码。

<el-row class="list-header">
	<el-col :span="6"><el-checkbox class="checkbox" :checked="isCheckedAll" v-model="checkAllFlag" @change="checkAll"> 全选</el-checkbox></el-col>
</el-row>
 
<el-row class="list-header">
	<el-checkbox-group v-model="checkArr"  @change="handleChecked">
		<el-checkbox class="checkbox" :label="data.productId">&nbsp;</el-checkbox> {{data.productNum}}<span class="col-b"> {{data.specification}}</span>
	</el-checkbox-group>
</el-row>
 
export default {
		data() {
			return {
				dataList: [],
				checkArr: [],//选中数组
				isCheckedAll: false,//全选判断标识
				checkAllFlag: false,
				CheckedAllArr: [],//全选数组
			}
		},
		methods: {
			//全选
			checkAll(event){
				this.checkArr = event.target.checked ? this.CheckedAllArr : [];
			},
			//单选
			handleChecked(){
				this.isCheckedAll = this.checkArr.length == this.dataList.length;
				this.checkAllFlag = this.checkArr.length == this.dataList.length;
			},
			switchStatus(type){
				this.isCheckedAll = this.checkArr.length == this.dataList.length;
				this.checkAllFlag = this.checkArr.length == this.dataList.length;
				this.checkArr = [];
				this.queryStatus = type;
				this.getList();
			},
			//获取商品列表 type==query 模糊搜索  为空:所有商品
			getList() {
				this.$http.post("/######",{
					queryCategory: this.queryCategory,
					queryKey:this.queryKey,
					queryStatus:this.queryStatus
				},{}).then(function(res){
					this.dataList=res.body.dataList;
 
                    //全选后的数组
					this.setCheckedAllArr()
				}).catch(); 
			},
			setCheckedAllArr(){
				let arr = [];
				this.dataList.forEach((item,index)=>{
					this.CheckedAllArr.push(item.productId);
				})
			}
	}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中手动封装iconfont组件解析(三种引用方式的封装和使用)

    vue中手动封装iconfont组件解析(三种引用方式的封装和使用)

    这篇文章主要介绍了vue中手动封装iconfont组件(三种引用方式的封装和使用),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue实现封装一个切片上传组件

    Vue实现封装一个切片上传组件

    平时业务开发中用el-upload能满足大部分场景,但是对于一些大文件的上传时会比较慢,所以自己基于el-upload封装了一个切片上传组件,希望对大家有所帮助
    2023-03-03
  • 使用Vue完成一个简单的todolist的方法

    使用Vue完成一个简单的todolist的方法

    本篇文章主要介绍了使用Vue完成一个简单的todolist的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Vue密码登陆加密RSA实现方案

    Vue密码登陆加密RSA实现方案

    这篇文章主要介绍了Vue密码登陆加密RSA实现方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • vue项目中定时器无法清除的原因解决

    vue项目中定时器无法清除的原因解决

    页面有定时器,并且定时器在离开页面时,有清除,本文主要介绍了vue项目中定时器无法清除的原因解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Vue3 源码解读静态提升详解

    Vue3 源码解读静态提升详解

    这篇文章主要为大家介绍了Vue3源码解读静态提升示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 探秘vue-rx 2.0(推荐)

    探秘vue-rx 2.0(推荐)

    这篇文章主要介绍了探秘vue-rx 2.0(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Vue 插件及浏览器本地存储

    Vue 插件及浏览器本地存储

    这篇文章主要介绍了Vue 插件及浏览器本地存储,插件通常用来为Vue添加全局功能,包含install方法的一个对象。更多相关介绍,需要的小伙伴可以参考下面文章内容
    2022-05-05
  • vue实现日历备忘录功能

    vue实现日历备忘录功能

    这篇文章主要为大家详细介绍了vue实现日历备忘录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Vue如何设置滚动条自动保持到最底端

    Vue如何设置滚动条自动保持到最底端

    在开发中我们常常会遇到需要让滚动条保持到最底端的需求,比如在开发一个聊天框时,请求接口拿到消息列表数据,展示到前端页面时,需要让滚动条自动滚到最底端,以此来展示最后的聊天记录,这篇文章主要介绍了Vue如何设置滚动条自动保持到最底端,需要的朋友可以参考下
    2024-08-08

最新评论