elementui多选下拉取消按钮_Element ui 下拉多选时新增一个选择所有的选项

本文介绍了如何在使用 Element UI 的多选下拉框中添加一个全选选项,通过监听 `watch` 实现全选与其他选项的互斥效果,达到一键全选和取消全选的功能。
摘要由CSDN通过智能技术生成

项目里经常会用到,在一个多选下拉框里新增一个选择所有的选项,例如:

Document

new Vue({

el:"#app",

data:{

cities: [

{value: 'Beijing',label: '北京'},

{value: 'Shanghai',label: '上海'},

{value: 'Nanjing',label: '南京'},

{value: 'Chengdu',label: '成都'},

{value: 'Shenzhen',label: '深圳'},

{value: 'Guangzhou',label: '广州'}

],

citys:[]

}

})

渲染如下:

此时可以多选,如果想要选择所有选项时,得一个个去点击,这样不是很方便,我们可以在下拉框里新增一个选择所有的选项,通过watch用几行代码就可以实现与其它选项的互斥来实现一键多选,如下:

Document

new Vue({

el:"#app",

data:{

cities: [

{value: 'Beijing',label: '北京'},

{value: 'Shanghai',label: '上海'},

{value: 'Nanjing',label: '南京'},

{value: 'Chengdu',label: '成都'},

{value: 'Shenzhen',label: '深圳'},

{value: 'Guangzhou',label: '广州'}

],

citys:[]

},

watch:{

citys:function(val,oldval){

if(val.indexOf('all')!=-1 && oldval.indexOf('all')==-1 && val.length>1){ //如果新的选择里有勾选了选择所有选择所有 则 只直线勾选所有整个选项

this.citys=['all'];

}else if(index = val.indexOf('all')!=-1 && oldval.indexOf('all')!=-1 && val.length>1){ //如果操作前有勾选了选择所有且当前也选中了勾选所有且勾选数量大于1 则移除掉勾选所有

this.citys.splice(val.indexOf('all'),1)

}

}

}

})

这样就可以互斥了,我们选择北京和上海时,选择器如下:

点击选择所有时,如下:

然后再点击其它选项,选择所有就会取消勾选了,例如选择深圳:

这样实现了选择所有和其它选择项的互斥,而其它选择又可以多选。

总结

以上所述是小编给大家介绍的Element ui 下拉多选时新增一个选择所有的选项,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值