vue-devui
vue-devui copied to clipboard
🐛 [Bug]: document 默认事件被阻止,导致color-picker无法打开
Version
v1.0.0-rc.11
Vue Version
3.2.29
Link to minimal reproduction

Step to reproduce
打卡color-picker组件,点击选择
What is expected
能够选择
What is actually happening
无法选择
Any additional comments (optional)
经过检查是发现是document默认事件被阻止,造成的影响
去掉
e.stopPropagation();
就可以正常使用
@xingyan95 这里不知道有没有更好的解决方法
-
使用pointer-event指针事件可以暂时解决阻止默认click鼠标事件的问题
-
目前展示类似 popover 组件的逻辑都有问题 近期也会重构 colorpicker, 可能不会使用监听的方式来控制弹出层的显隐
- 使用pointer-event指针事件可以暂时解决阻止默认click鼠标事件的问题
![]()
- 目前展示类似 popover 组件的逻辑都有问题 近期也会重构 colorpicker, 可能不会使用监听的方式来控制弹出层的显隐
嗯嗯,但是我觉得一个组件 取消掉 document
的默认事件有点不太合适。目前发现影响到了color-picker
,但是其它组件、用户的代码也可能受到影响
- 使用pointer-event指针事件可以暂时解决阻止默认click鼠标事件的问题
![]()
- 目前展示类似 popover 组件的逻辑都有问题 近期也会重构 colorpicker, 可能不会使用监听的方式来控制弹出层的显隐
嗯嗯,但是我觉得一个组件 取消掉
document
的默认事件有点不太合适。目前发现影响到了color-picker
,但是其它组件、用户的代码也可能受到影响
嗯嗯 大部分都应该要重写
我觉color-picker在window上监听事件,控制展开收起是不是不太合适,另一个dropdown在document上监听事件可能也不太合适,都要看下有没有更好的方案。 阻止默认事件是因为,类似drawer组件,在window上监听了事件,可以点击空白处关闭。如果在弹出类组件上不阻止事件冒泡,当在drawer中使用弹出类组件(比如select),并且点击弹出类组件的弹出面板时(比如选择了select下拉面板的某一项),drawer会一并关闭。大家看下有没有更好的解决方案~
近期将会重构color-picker, 到时候可以一起讨论一下