van-uploader上传图片,自动刷新,因为走了onShow


问题的根源: 小程序里面很多情景都会触发 当前页面的onShow,  比如  分享, 图片预览, 地图选择 等等 还有就是这个 vantui的 上传图片 

最简单的方法就是加个判断, 我这边上传图子组件, 原理一样的:

home.wxml   父组件


    "isGoOnShowClick" />


home.js

data: {         isGoOnShow: false, // 是否走onShow(图片预览和地图组件和分享等都会触发onShow里面的接口;  }   // 接受子组件暴露的isGoOnShow,为true时不走 onShow 指定接口里面的请求数据     isGoOnShowClick(e) {         console.log(e.detail)         this.setData({             isGoOnShow: e.detail         })     },   onShow() {         if (this.data.isGoOnShow) {             this.setData({                 isGoOnShow: false             })         } else {             // TODO 接口获取数据             this.getxxxxx()         }       },

子组件  custom-forms

<view class="custom-uploader" catchtap="previewRead">
                                <van-uploader file-list="{{ item.value }}" accept="image" max-size="{{ 5 * 1024 * 1024 }}" max-count="1" image-fit="aspectFit" bind:after-read="afterRead" bind:click-preview="previewRead"  bind:delete="deleteImg" />
                            view>




// 图片预览/图片上传前操作优化,用于告诉父页面走不走onShow接口         previewRead(e) {             // 向父组件暴露isGoOnShow,告诉父组件不要走 onShow指定接口里面的请求数据             this.triggerEvent('isGoOnShowClick', {                 isGoOnShow: true             })         },
 

非组件的请参看  我这个文章, 很简单, 原理一样  :