让 showToast 可以回调 complete

This commit is contained in:
陆柯 2020-06-24 12:19:09 +08:00
parent ff7dc3ce3a
commit 6c3819c544
2 changed files with 17 additions and 15 deletions

View File

@ -78,22 +78,21 @@ module.exports = {
} }
}, },
showToast({type, icon, image, title, duration}){ showToast({type, icon, image, title, duration, ...rest}){
let pageNow = getCurrentPages().pop() let pageNow = this.$store ? this : getCurrentPages().pop()
if (pageNow.$refs && pageNow.$refs.toast) { if (pageNow.$refs && pageNow.$refs.toast) { // 在 ios app 里,虽然能获得 pageNow但是不存在 pageNow.$refs不知为何。android app 没有测试
pageNow.$refs.toast.open({type, content:title, duration}) pageNow.$refs.toast.open({type, content:title, duration, ...rest})
}else { }else {
// #ifndef APP-PLUS // #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform==='android') {
uni.showToast({icon:'none', title, duration, ...rest})
return
}
// #endif
if (!image){ if (!image){
image = `../static/Common.${type?type:'info'}.png` image = `../static/Common.${type?type:'info'}.png`
} }
uni.showToast({icon, image, title, duration}) uni.showToast({icon, image, title, duration, ...rest})
// #endif
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform==='android') {
uni.showToast({icon:'none', title, duration})
}
// #endif
} }
}, },
@ -116,7 +115,7 @@ module.exports = {
}, },
formatPercent(value, decimal){ formatPercent(value, decimal){
return `${Number(value*100).toFixed(decimal||2)}%` return `${Number(value*100).toFixed(decimal||2)}`
}, },
formatDate(date, format){ formatDate(date, format){

View File

@ -47,7 +47,7 @@ based on
this.popup_list.push(toast) this.popup_list.push(toast)
if(!toast.clickable){ if(!toast.clickable){
this.disappear(toast.uuid,toast.duration) this.disappear(toast.uuid,toast.duration,toast.complete)
}// }//
else{ else{
this.$emit('uuidCallback',toast.uuid) this.$emit('uuidCallback',toast.uuid)
@ -55,7 +55,7 @@ based on
}, },
// //
disappear:function(uuid,duration){ disappear:function(uuid,duration,complete){
//退 //退
this.fade_out_animator(uuid,duration).then(res=>{ this.fade_out_animator(uuid,duration).then(res=>{
setTimeout(()=>{ setTimeout(()=>{
@ -66,6 +66,9 @@ based on
this.$forceUpdate() this.$forceUpdate()
} }
} }
if (typeof(complete)==='function'){
complete()
}
},250) },250)
}) })
}, },