在popover隐藏时,mui会把背景蒙版(backdrop)移除掉,但是这个移除的方法是通过setTimeout延迟350毫秒执行的;
所以问题来了,我这边有个功能,就是在弹出的菜单中点击某个选项时,弹出另外一个popover;
由于这个backdrop是异步隐藏的,所以在弹出另外一个popover的时候mui发现存在backdrop,就不重新创建了,但是350ms后,之前的backdrop又被移除了,就导致了后来弹出的popover没有dropback;
我看mui里面有很多歌settimeout(xxx,350),不知道是什么个意思,求解
chender
- 发布:2015-08-27 21:37
- 更新:2015-09-07 19:07
- 阅读:2673
4 个回复
DCloud_UNI_FXY
setTimeout是为了解决点击透传。
你这种情况,可以通过动态修改popover的内容来变相实现
chender (作者) - 与人为善
解决方案我倒是有一大把,只是感觉不太优雅罢了,弹出菜单这个是一个通用的功能,是封装框架的人写的,通过动态修改popover有点别扭;
你说这个解决点击透传是什么个意思啊?能科普一下吗,以前没听说过
DCloud_UNI_FXY
就是你点击popover上的某个元素后,直接关闭遮罩,有可能导致popover底下其他元素的点击事件也触发(click300ms延迟问题)
2015-08-31 14:24
不吃青菜
我也遇到过这种情况,后来用了setTimeout(,)
chender (作者)
在一些细节上官方做得不怎么到位啊
2015-08-29 19:58
DCloud_UNI_FXY
下个版本修复此问题