在微信小程序中调用wx.chooseMessageFile方法选择文件,选择完文件上传之后页面会莫名的跳转,找了很久才发现原因。
研究发现调用wx.chooseMessageFile方法之后会触发入口文件app.js中的onLaunch、onShow方法,然后再触发当前页面的onHide、onShow方法。逻辑如下:
app.onLaunch();
app.onShow();
page.onHide();
page.onShow();
解决办法如下:
1.当在 onshow中有请求时,使用了这些api可能会有以下影响,这时可以定义一个全局的变量去控制( app.js /app.vue)
比如:
2、页面使用时更改,判断
在使用wx.chooseImage或wx.previewimage方法打开开关
3.进入这个页面时
原理很简单,就是设置了一个变量开关去控制