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

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

    },
    
  }
})
相关推荐
张晓~183399481215 小时前
数字人源码部署流程分享--- PC+小程序融合方案
javascript·小程序·矩阵·aigc·文心一言·html5
The_era_achievs_hero7 小时前
微信小程序61~70
微信小程序·小程序
汤姆yu18 小时前
基于微信小程序的学校招生系统
微信小程序·小程序·招生小程序
说私域1 天前
基于开源AI智能名片链动2+1模式的S2B2C商城小程序:门店私域流量与视频号直播融合的生态创新研究
人工智能·小程序·开源
说私域1 天前
传统微商困境与开源链动2+1模式、AI智能名片及S2B2C商城小程序的转型破局
人工智能·小程序·开源
一渊之隔1 天前
微信小程序在用户拒绝授权后无法使用wx.opensetting再次获取定位授权
微信小程序·小程序
racerun1 天前
微信小程序如何实现再多个页面共享数据
微信小程序·小程序
XM-54581 天前
2025微信小程序wxapkg解包全攻略
linux·运维·小程序
HERR_QQ2 天前
【unify】unify的微信小程序开发学习 (to be continued)
学习·微信小程序·小程序
racerun3 天前
小程序导航设置更多内容的实现方法
小程序