v***@163.com
v***@163.com
  • 发布:2018-03-14 15:57
  • 更新:2018-08-16 21:59
  • 阅读:3153

【报Bug】一个页面new了2个mui.PopPicker,导致回退键的mui-action-back 失效

分类:MUI
mui

详细问题描述
[内容]
在一个页面mui.plusReady里 new了2个mui.PopPicker({layer: 2}),内容不同,
点击不同按钮,弹出不同的poppicker,在点击一个时,先hide另外一个,
来回反复点击,会导致页面左上角回退键的mui-action-back 失效,无法返回,
报错:
Uncaught TypeError: $.back is not a function at js/mui.js:2783

只能通过plus.webview.close(ws);方式退出。

2018-03-14 15:57 负责人:无 分享
已邀请:
v***@163.com

v***@163.com (作者) - 非常可乐

另外,就是安卓机的回退键也会无效,报:TypeError: $.back is not a function

v***@163.com

v***@163.com (作者) - 非常可乐

at __back (file:///storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/js/mui.js:2898:5)

v***@163.com

v***@163.com (作者) - 非常可乐

看了一下mui.poppicker.js的代码,hide()方法有问题


hide: function() {
...
//处理物理返回键
$.back=self.__back;
...
}


这里要加个判断,self.__back是否已经设置的判断,
如果用户不调用show,直接调用hide,back键就挂了。

  • v***@163.com (作者)

    self.__back为undefined的情况设置给$.back,就会把原来的$.back给冲掉

    2018-03-30 10:32

5***@qq.com

5***@qq.com

我也遇到相同的问题,页面里面有poppicker的时候,点击poppicker后,返回就失效了,你那边有什么好方法吗?

  • v***@163.com (作者)

    mui.poppicker.js这个文件里有bug,看我上面的评论。

    2018-05-24 14:26

8***@qq.com

8***@qq.com - 鸡鸡小而舰艇

加个什么判断呢?

  • 4***@qq.com

    我遇到的是dtpicker,在打开新的picker前关闭已打开的picker就好了

    2018-08-17 11:33

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

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容