• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序,防止表单数据丢失,表单返回提示框 wx.enableAlertBeforeUnload ,需要真 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

十年河东,十年河西,莫欺少年穷

学无止境,精益求精

在我们实际开发中,有些页面是大表单页面,用户填写了很多信息后,误触到返回按钮,则用户填写的表单数据丢失,此时,就需要我们对该种场景做处理

一般情况下,我们可以采用Storage存储本地数据的方式,但这种方式开发量大,易出错。

假设我们有A、B两个页面,其中B页面是个大表单页面

A页面如下:

<navigator url="/pages/requ/requ" hover-class="navigator-hover">跳转到大表单页面</navigator>

B页面,我们只需在OnLoad中添加如下代码,即可防止用户因误触返回键带来的问题

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.BeaforeUnLoad();
  },

  BeaforeUnLoad() {
    wx.enableAlertBeforeUnload({
      message: \'离开此页后数据将会被清空哦\',
      success: (e) => {
        console.log(e);
      },
      fail: (e) => {
        console.log(e);
      }
    })
  },

当我们在B页面点击返回导航时,真机预览效果如下:

 

 类似于一个确认框。

当然,有人说,我可以在B页面的UnLoad 卸载方法中加一个模态框,用来阻止跳转,我们来试验下。

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    wx.showModal({
      cancelColor: \'red\',
      title: "卸载",
      content: "卸载内方法执行时,页面已跳转"
    })
  },

真机预览效果如下

 

 从效果图可以看出,B页面的卸载方法中的模态框展示时,已经跳转到了A页面,因此,在卸载方法中阻止表单数据丢失是不行的

@天才卧龙的博客


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序支付发布时间:2022-07-18
下一篇:
微信小程序组件radio发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap