Vue 自定义下拉选择器:多选、搜索、隐藏更多

需求描述:

  1. 实现一个element样式的选择器
  2. 搜索
  3. 单个取消,全部取消
  4. 隐藏两个以上的已选并显示...

效果图:

Vue 自定义下拉选择器:多选、搜索、隐藏更多_第1张图片

坑:

一开始使用element的多选选择器,但是element不支持隐藏已选Tag,使用了伪类样式成功实现第4个需求。但是发现搜索根本用不了,被挡住了。最后还是自定义了一个组件。

在交互上,还有很多需要注意的——当点击选择器以外时,需要隐藏选择器;下拉展开时,input需要一直聚焦的。一开始在input中加入blur事件,发现无法满足这两个交互。最后监听点击事件,判断点击的DOM是否在选择器中,以此控制失焦、聚焦和展示、隐藏下拉。

实现:



你可能感兴趣的:(Vue 自定义下拉选择器:多选、搜索、隐藏更多)