uniapp onshow/onLoad 中的 showToast 不顯示的問題

侗家小蚁哥發表於2024-06-18

需求: 點選底部tab頁 跳轉到頁面中時 彈窗提示 然後頁面返回某一頁

onshow/onLoad

很簡單的需求

uni.showToast({
  icon: 'error',
  title: '頁面開發中...',
  duration: 1000,
  mask: true
})


setTimeout(()=>{
  uni.switchTab({
    url:'/pages/tabBar/home/home'
  })
},1000)

類似的其他框架方式:

onShow(){
//必須使用延時功能,否則報錯
setTimeout(()=>{
this.$refs.uToast.show({title: "查詢中...!",type:'info',position:'bottom',duration:3000});},3000);

}

onReady() 、、//同樣適用

這樣在開發工具中測試沒有問題 但是在測試版中出現問題 彈窗提示在跳轉前出現 並且跳轉頁面後不顯示了

雖然目前還沒發現問題原因 但是推測肯定是時機的問題 使用一層延遲 問題就解決了

setTimeout(()=>{
  uni.showToast({
    icon: 'error',
    title: '頁面開發中...',
    duration: 1000,
    mask: true
  })
  setTimeout(()=>{
    uni.switchTab({
      url:'/pages/tabBar/home/home'
    })
  },1000)
},100)

唯一遺憾就是會有100毫秒延遲

相關文章