收藏
回答

wx.showModal接口当手机手势返回时,会返回res.cancel?

wx.showModal({
  title: '提示',
  content: '这是一个模态弹窗',
  success (res) {
    if (res.confirm) {
      console.log('用户点击确定')
    } else if (res.cancel) {
      console.log('用户点击取消')
    }
  }
})


如上图官方示例所示,应该用户点击了取消按钮才会走res.cancel分支,但发现手势返回也会触发了res.cancel分支,导致弹窗弹出的情况下用户手势返回同样触发了res.cancel分支的业务

这不应该是预期内的结果,应该只有点击才会触发,当前的设计等于是不能在res.cancel里写任何业务逻辑,如果有业务逻辑就会导致误触发

回答关注问题邀请回答
收藏

4 个回答

  • 启年
    启年
    2025-11-19

    感觉这个设计很正常。你不该在cancel里边设计业务逻辑,或者你没有在cancel里边正确处理逻辑,比如你把cancel直接隐藏了。自己兼容一下这种情况就行了。

    2025-11-19
    有用
    回复
  • hello world
    hello world
    2025-11-19

    看起来是正常的,就应该如此

    2025-11-19
    有用
    回复
  • 一笑皆春
    一笑皆春
    2025-11-19

    尽量避免在取消按钮加业务,如果实在要加,自己定义个组件吧,不要用官方的

    2025-11-19
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    2025-11-19
    有用
登录 后发表内容