钉钉内应用-页面返回事件的回调监听
钉钉内应用-页面返回事件的回调监听1此事件不支持在自定义首页使用。2.iOS的返回事件请使用setLeft组件。只能在一个.vue页面使用,如果其他页面要用的话需要配合vuex来使用。不能在多个页面调用,否则返回会失效。并且安卓和IOS调用方法不同。需要做判断。调用方法// An highlighted blockdd.ready(() => {const u = navigator.use
·
钉钉内应用-页面返回事件的回调监听
1此事件不支持在自定义首页使用。
2.iOS的返回事件请使用setLeft组件。
只能在一个.vue页面使用,如果其他页面要用的话需要配合vuex来使用。不能在多个页面调用,否则返回会失效。并且安卓和IOS调用方法不同。需要做判断。
调用方法
// An highlighted block
dd.ready(() => {
const u = navigator.userAgent
const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // 判断是否是 android终端
if (isAndroid) {
document.addEventListener('backbutton', (e) => { //安卓调用方式
e.preventDefault() //阻止返回
//在这里处理你的业务
if (this.$route.name === 'addPrizeAndBuckle') { //这个页面用了很多组件,并且类似于跳转到新的页面,直接点击返回的话就会回到首页,所以需要做判断
e.preventDefault()
if (this.app.isMenubuckleScreenPop > 0) { //判断是否在组件页面,不在的话直接返回,在的话点击返回需要关闭组件
this.SET_IS_MENUBUCKLE_SCREEN_POP(-1)
} else {
Dialog.confirm({
title: '提示',
message: '您的奖扣还未提交,退出后所填写的信息将不做保存,是否确认退出?'
}).then(() => {
window.history.go(-1)
}).catch(() => {
})
}
}
})
} else {
dd.biz.navigation.setLeft({
control: true,
text: '',
onSuccess: (result) => { //IOS调用方法 ios返回不起作用,需要手动让他返回window.history.go(-1)
if (this.$route.name === 'addPrizeAndBuckle') {
if (this.app.isMenubuckleScreenPop > 0) {
this.SET_IS_MENUBUCKLE_SCREEN_POP(-1)
} else {
Dialog.confirm({
title: '提示',
message: '您的奖扣还未提交,退出后所填写的信息将不做保存,是否确认退出?'
}).then(() => {
window.history.go(-1)
}).catch(() => {
})
}
}
},
onFail(err) {
console.log('返回失败', err)
}
})
}
})
更多推荐
已为社区贡献1条内容
所有评论(0)