el-tree-select icon indicating copy to clipboard operation
el-tree-select copied to clipboard

[BUG] 通过鼠标点击在多个 el-tree-select 之间切换焦点时, el-tree-select 的下拉框无法消失.

Open novaeye opened this issue 2 years ago • 7 comments

问题产生的原因是 ._popoverHideFun() 内没有考虑事件源可能是另一个 el-tree-select 的情况.

PR随后就到:smiley:

novaeye avatar Dec 30 '22 03:12 novaeye

return list.id === `el-tree-select-${this.guid}`;

这样会有一个问题,内部如果是点击内容或者折叠展开也会触发收起。

ayiaq1 avatar Jan 03 '23 01:01 ayiaq1

return list.id === `el-tree-select-${this.guid}`;

这样会有一个问题,内部如果是点击内容或者折叠展开也会触发收起。

呃, 好像确实会产生这个副作用, 但是原来的判断逻辑好像也没有去检查事件源是不是在 popover 内? 🤔

novaeye avatar Jan 03 '23 02:01 novaeye

可以尝试通过e.target内的属性判断,是否为当前。欢迎提PR~~~

ayiaq1 avatar Jan 04 '23 01:01 ayiaq1

return list.id === `el-tree-select-${this.guid}` || list.classList.contains('el-tree-select-popper');

这样是否可行🤔

novaeye avatar Jan 04 '23 02:01 novaeye

|| list.classList.contains('el-tree-select-popper');

这样也无法解决多个下拉的问题吧?

ayiaq1 avatar Jan 04 '23 06:01 ayiaq1

可以分开比较,如果在popover内,根据this.$ref.popover.id === paths 里面的id,则为自身。

ayiaq1 avatar Jan 04 '23 07:01 ayiaq1