vue---el-select下拉框实现全选功能

问题描述:

el-select下拉框要求实现全选功能。具体功能包括:

  • 当选择【全选】时,所有选项全部被勾选;
  • 当下拉选项(除了【全选】)都选择时,【全选】自动勾选;
  • 当所有选项全部被勾选,取消某一项选项(除了【全选】),【全选】自动取消勾选;
  • 点击【全选】tag标签,可取消所有勾选项。

如下图:

vue---el-select下拉框实现全选功能_第1张图片

解决方法:

1、给el-select增加【全选】下拉选项

2、为el-select绑定change事件和remove-tag事件,具体实现全选功能写在事件中

注意:代码中,需要加上【this.value = val;】,确保el-select绑定的value值和val一致,当然也可以直接在change事件中使用【this.value】替代【val】,总之【this.value】才是我们后续需要使用的值,我开始一直以为【this.value】和【val】是时刻一致的,然而并不是。观察控制台打印值即可知:

vue---el-select下拉框实现全选功能_第2张图片



在其他方案中:见https://www.jb51.net/article/166809.htm 在【全选】选项上,加上click事件后,click事件和change事件有冲突,是的绑定值的值不一致,不便于在change事件中进行后续操作,比如说向后台发送数据请求。

vue---el-select下拉框实现全选功能_第3张图片

vue---el-select下拉框实现全选功能_第4张图片

 

 

 

 

你可能感兴趣的:(vue)