VUE中,el-lect选择器多选下拉框实现全选功能和取消全选

更新时间:2023-07-18 21:47:09 阅读: 评论:0

VUE中,el-lect选择器多选下拉框实现全选功能和取消全选VUE中,el-lect选择器多选下拉框实现全选功能和取消全选
场景
elementUI的下拉框⽀持多选,但是不⽀持全选,但需求就要这个功能
解决思路
⽅法⼀:下拉项增加⼀个【全选】
应该有以下⼏种情况:
下拉选项全都勾选时,【全选】⾃动勾选;
下拉选项部分勾选时,点击【全选】后,所有下拉项全部勾选;
下拉选项全都未勾选时,点击【全选】后,所有下拉选项全部勾选;
下拉选项和【全选】都选上的时候,不勾选任意下拉选项,【全选】按钮就不勾选了;
实例1
环卫工作总结html
<template>
八六子秦观<el-lect multiple collap-tags v-model='lectedArray'@change='changeSelect'@remove-tag='removeTag'placeholder='请选择'> <el-option label='全选'value='全选'@click.native='lectAll'></el-option>
<el-option v-for='(item, index) in options':key='index':label='item.name':value='item.name'></el-option>
</el-lect>
</template>
js
9英文lectedArray:[],
options:[
{ name:'⼀⼀', label:'one'},
滚轧机{ name:'⼆⼆', label:'tow'},
{ name:'三三', label:'three'},
{ name:'四四', label:'four'},
{ name:'五五', label:'five'}
]
}
小动物的家图片
},
methods:{
lectAll(){
if(this.lectedArray.length <this.options.length){
this.lectedArray =[]
this.options.map((item)=>{
this.lectedArray.push(item.name)
})
this.lectedArray.unshift('全选')
}el{
this.lectedArray =[]
}
},
changeSelect(val){
if(!val.includes('全选')&& val.length ===this.options.length){
this.lectedArray.unshift('全选')
}el if(val.includes('全选')&&(val.length -1)<this.options.length){
this.lectedArray =this.lectedArray.filter((item)=>{
return item !=='全选'
})
}
},
removeTag(val){
if(val ==='全选'){
this.lectedArray =[]
}
}
}
}
效果图
⽅法⼆:直接添加⼀个【全选】复选框
实现的功能跟⽅法⼀是⼀样的
html
<template>
<el-lect multiple collap-tags v-model='lectedArray'@change='changeSelect'placeholder='请选择'> <el-checkbox v-model="checked"@change='lectAll'>全选</el-checkbox>
<el-option v-for='(item, index) in options':key='index':label='item.name':value='item.name'></el-option> </el-lect>
</template>
js
checked:fal,毕设开题报告
lectedArray:[],
options:[
{ name:'⼀⼀', label:'one'},
{ name:'⼆⼆', label:'tow'},
多媒体技术与应用{ name:'三三', label:'three'},
{ name:'四四', label:'four'},
{ name:'五五', label:'five'}
]
}
},
methods:{
lectAll(){
this.lectedArray =[]
if(this.checked){
this.options.map((item)=>{
this.lectedArray.push(item.name)
})
}el{
this.lectedArray =[]
}
书卷多情似故人晨昏忧乐每相亲
},
changeSelect(val){
if(val.length ===this.options.length){
this.checked =true
}el{
this.checked =fal
}
}
}
}
css
.el-checkbox{
text-align: right;
width: 100%;
padding-right: 10px;
}
效果图

本文发布于:2023-07-18 21:47:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1086870.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:全选   勾选   选项   功能   实现   故人   下拉框
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图