前言:在开发中,有一个需求是 选项组件中使用到一个 全选的功能,特在这记录下实现的方法,方便后续的查阅,以及方便大家查阅借鉴。若是有更好的方法,请大家传授传授。
效果图:
思路:就围绕是 ‘全选’ 还是 单选展开,用布尔字段 selectAll 来标识,selectAll 默认是 false 非全选。
全选分支:只有全选和取消权限操作。
单选分支:判断下选择到数组长度 是否 与所有选项长度一样,是的话就说明是全选。否则就是单选。
直接上简单的 demo:
<template>
<div>
<el-form ref="searchform" label-width="150px">
<el-form-item label="select多选demo:">
<el-select
v-model="selectValue"
@change="changeSelect"
multiple
clearable
placeholder="请选择"
>
<el-option key="selectAll" label="全部" value="selectAll"></el-option>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"