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

.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
             })
           }
         }
      })

    },
    
  }
})
相关推荐
计算机毕设指导615 小时前
基于微信小程序的校园食堂点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
项目題供诗16 小时前
微信小程序黑马优购(项目)(八)
微信小程序·小程序
2501_9159184116 小时前
iOS 项目中证书管理常见的协作问题
android·ios·小程序·https·uni-app·iphone·webview
2501_9159184116 小时前
提升 iOS 应用安全审核通过率的一种思路,把容易被拒的点先处理
android·安全·ios·小程序·uni-app·iphone·webview
00后程序员张17 小时前
APP如何快速上架Apple Store:完整上架流程与常见问题解析
android·小程序·https·uni-app·iphone·webview
Chloe.Zz17 小时前
微信小程序接入大模型实战 4:塔罗咨询室(含代码)
语言模型·微信小程序·小程序
2501_9160088917 小时前
iOS 应用发布流程中常被忽视的关键环节
android·ios·小程序·https·uni-app·iphone·webview
Q_Q51100828517 小时前
小程序基于Java Web的健身房管理系统设计和开发
java·前端·小程序
艾上编程17 小时前
第四章——桌面小程序场景之使用Tkinter制作文件格式转换器:满足日常格式转换需求
开发语言·小程序
风月歌17 小时前
小程序项目之“健康早知道”微信小程序源码(java+小程序+mysql)
java·微信小程序·小程序·毕业设计·源码