小程序 表单当用户修改字段,点击返回检测用户是否有修改

.wxml

bash 复制代码
<page-container show="{{show}}" overlay="{{false}}" show="{{show}}" overlay-style="height:2px" custom-style="height:2px"
  position="{{top}}" bind:beforeleave="beforeleave"></page-container>

.js

bash 复制代码
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    workflowData: Object
  },

  /**
   * 组件的初始数据
   */
  data: {
    isModified:false,
    show:true
  },
  lifetimes: {
    attached() {
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    beforeleave(){
      if (this.data.entrySource == "tableList") {
       this.showComfin()
      }
    },
    async showComfin(){
      if ( this.data.allowEdit && this.data.actionType == "edit") {
        await this.checkFormModify();
        if (this.data.isModified) {
          wx.showModal({
            title: '有修改的内容未保存',
            content: '确定退出编辑?',
            success: (res) => {
              if (res.confirm) {
                this.setData({
                  isModified : false,
                  show:true
                 })
                wx.navigateBack({
                  delta: 1
                });
              } else if (res.cancel) {
                this.setData({
                  isModified : false,
                  show:true
                 })
              }
            },
          })
        }else{
          wx.navigateBack({
            delta: 1
          });
        }
      }else{
        wx.navigateBack({
          delta: 1
        });
      }
    },
      checkFormModify() {
     this.selectComponent("#form").validate((valid, errors, document) => {
        let documents  = document
         let originalDocument = this.data.document
         if (originalDocument) {
           console.log(originalDocument, "原有数据");
           console.log(documents, "修改后的数据");
           let isEq = _eq(originalDocument, documents);
           if (!isEq) {
             this.setData({
              isModified : true
             })
           }
         }
      })

    },
    
  }
})
相关推荐
qq_12498707534 小时前
基于springboot归家租房小程序的设计与实现(源码+论文+部署+安装)
java·大数据·spring boot·后端·小程序·毕业设计·计算机毕业设计
说私域4 小时前
留量为王,服务制胜:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径
人工智能·小程序·开源
游戏开发爱好者85 小时前
如何使用 AppUploader 提交上传 iOS 应用
android·ios·小程序·https·uni-app·iphone·webview
百锦再5 小时前
AI视频生成模型从无到有:构建、实现与调试完全指南
人工智能·python·ai·小程序·aigc·音视频·notepad++
恩创软件开发19 小时前
创业日常2026-1-8
java·经验分享·微信小程序·小程序
开发加微信:hedian1161 天前
推客与分销场景下的系统架构实践:如何支撑高并发与复杂业务规则
小程序
游九尘1 天前
在小程序中实现横竖屏切换的配置方法,实时监听页面宽度
小程序
weixin_lynhgworld1 天前
[特殊字符]旧物焕新颜,二手变宝藏——小程序系统开发开启绿色生活新篇章[特殊字符]
小程序·生活
说私域1 天前
小程序电商运营中“开源AI智能名片链动2+1模式S2B2C商城小程序”对培养“老铁”用户的重要性研究
人工智能·小程序·开源
00后程序员张1 天前
在 iPhone 上进行 iOS 网络抓包的实践经验
android·ios·小程序·https·uni-app·iphone·webview