chender
chender
  • 发布:2015-08-27 21:37
  • 更新:2015-09-07 19:07
  • 阅读:2673

[报bug]点击popover的某个菜单项时触发另外一个popover导致不出现backdrop的问题

分类:MUI
mui

在popover隐藏时,mui会把背景蒙版(backdrop)移除掉,但是这个移除的方法是通过setTimeout延迟350毫秒执行的;
所以问题来了,我这边有个功能,就是在弹出的菜单中点击某个选项时,弹出另外一个popover;
由于这个backdrop是异步隐藏的,所以在弹出另外一个popover的时候mui发现存在backdrop,就不重新创建了,但是350ms后,之前的backdrop又被移除了,就导致了后来弹出的popover没有dropback;
我看mui里面有很多歌settimeout(xxx,350),不知道是什么个意思,求解

2015-08-27 21:37 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

setTimeout是为了解决点击透传。
你这种情况,可以通过动态修改popover的内容来变相实现

chender

chender (作者) - 与人为善

解决方案我倒是有一大把,只是感觉不太优雅罢了,弹出菜单这个是一个通用的功能,是封装框架的人写的,通过动态修改popover有点别扭;
你说这个解决点击透传是什么个意思啊?能科普一下吗,以前没听说过

  • DCloud_UNI_FXY

    就是你点击popover上的某个元素后,直接关闭遮罩,有可能导致popover底下其他元素的点击事件也触发(click300ms延迟问题)

    2015-08-31 14:24

不吃青菜

不吃青菜

我也遇到过这种情况,后来用了setTimeout(,)

  • chender (作者)

    在一些细节上官方做得不怎么到位啊

    2015-08-29 19:58

DCloud_UNI_FXY

DCloud_UNI_FXY

下个版本修复此问题

该问题目前已经被锁定, 无法添加新回复