您的位置:首页 > 产品设计 > UI/UE

那些年我用MUI开发遇过的坑(二)

2016-08-09 14:24 190 查看
    前些日子我开发的时候遇到了一个小问题(如图),在这个页面我有一个弹出菜单(popover),如果我不将菜单隐藏直接打开一个新的页面,那么神奇的事就发生了,这个菜单将会一直处于active状态,不会隐藏起来。
              


    正常情况下,可能不是什么大问题,但是还是很影响用户体验的,也有可能会影响其他功能的实现。针对这个问题我上网百度了一下,有说利用mui('#popover').popover('hide')可以强制隐藏popover,但是我试过好像并不起作用。后来我在Dcloud的官方论坛上找到了一个比较靠谱的解决方案。原理就是在框架中重写一个隐藏的方法。具体的可以参见以下地址:

     mui-popover如何强制隐藏 - DCloud问答

    由于mui的不断更新,可能文章里面说的代码行数不一定正确,但是只要将代码复制到差不多的位置,还是可以运行成功的。我尝试了一下,这次popover总算是成功的藏起来了。但是又有一个问题衍生出来了,虽然popover隐藏起来了,但是我总感觉它好像一直存在。。。。。(多么灵异的事件啊)。。。于是我查看了一下代码,果然

      


    他隐藏的方法只是将CLASS_ACTIVE这个class移除掉,那么这个CLASS_ACTIVE有是什么 呢,于是我又查看了一下源码,原来他只不过是将popover的透明度变回去了,难怪我觉得它一直都在。

        


    对于这个问题修改起来其实也容易,我们只需要在上面hidePopover的方法中,添上一句或直接将popover.classList.remove(CLASS_ACTIVE)这句用popover.style.display='none',来代替就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mui HybridApp