HarmonyOS onBackPress返回值问题

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-29-V5

onBackPress() {
  return true
  router.pushUrl({
    url: 'pages/Index',
    params: ''
  }, (err) => {
    if (err) {
      console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('pushUrl success');
  })
} 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

上面代码return true之后,进行了router.pushUrl,不是很理解return后.pushUrl应该是不会执行的,也进行了验证后面代码确实不会执行。其次onBackPress里面的返回值return true和return false区别是什么,进行了验证发现两者都是正常返回没发现区别。

HarmonyOS
2025-01-09 16:10:12
427浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

经测试return true之后,是不会进行跳转的只有return false,会使用默认的路由返回逻辑进行返回。

onBackPress() {
  return true
  router.pushUrl({
    url: 'pages/Index',
    params: ''
  }, (err) => {
    if (err) {
      console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('pushUrl success');
  })
} 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

不会进行返回操作。

onBackPress() {
  return false
  router.pushUrl({
    url: 'pages/Index',
    params: ''
  }, (err) => {
    if (err) {
      console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('pushUrl success');
  })
} 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

会进行返回操作。

分享
微博
QQ
微信
回复
2025-01-09 19:13:30


相关问题
HarmonyOS TextPickerDialog返回值问题
987浏览 • 1回复 待解决
HarmonyOS Promise函数返回值问题
1070浏览 • 1回复 待解决
event.data.isRequestGesture()返回值问题
1595浏览 • 1回复 待解决
求助:关于HTTP返回值问题
3538浏览 • 1回复 待解决
HarmonyOS 使用电池状态返回值问题
1227浏览 • 1回复 待解决
HarmonyOS router.back()如何获取返回值
1127浏览 • 1回复 待解决
HarmonyOS crypto-js加密没有返回值
802浏览 • 1回复 待解决
错误rowCount返回值-1如何处理?
2083浏览 • 1回复 待解决
HarmonyOS 获取副卡服务商无返回值
759浏览 • 1回复 待解决