项目需求:有时候挽留的ui是全屏的,用page-container也可以。后来产品提了个问题,手机侧滑的时候没那么顺畅(就是一用侧滑,就显示出来,产品要的方案是如下图,emmm大概是这个意思)
后面想了个方案,把挽留的内容做成一个页面,先跳转到挽留页面,在从挽留页面跳转到内容页,这样内容页面后退就是挽留页面了,当然这边还要page-container的配合。
a页面
uni.navigateTo({
url:'/pages/b'
})
b页面
<template>
<view v-if="isShow">
挽留内容。。。
</view>
</template>
<script>
export default{
data(){
return{
isShow:false
}
},
onLoad(option) {
setTimeout(()=>{
this.isShow = true
},1000)
uni.navigateTo({
url:`/pages/c`
})
},
methods:{
//继续填写即在次回到c页面
backStop(){
uni.navigateTo({
url:'/pages/c'
})
},
}
}
</script>
<style>
</style>
c页面(参考page-container)
在函数beforeleave里要进行判断,要返回到a页面的话,就要用uni.navigateBack({delta:2})
beforeleave(){
if(this.isOrder){//正常情况,返回a页面,例如已经下单完毕
uni.navigateBack({delta:2})
}else{//到挽留页
uni.navigateBack()
}
}