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

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

    },
    
  }
})
相关推荐
2501_9159184120 小时前
iOS 上架全流程指南 iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传 ipa 与审核实战经验分享
android·ios·小程序·uni-app·cocoa·iphone·webview
00后程序员张1 天前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview
破无差1 天前
《赛事报名系统小程序》
小程序·html·uniapp
00后程序员张1 天前
详细解析苹果iOS应用上架到App Store的完整步骤与指南
android·ios·小程序·https·uni-app·iphone·webview
海绵宝宝不喜欢侬1 天前
uniapp-微信小程序分享功能-onShareAppMessage
微信小程序·小程序·uni-app
2501_915106321 天前
Xcode 上传 ipa 全流程详解 App Store 上架流程、uni-app 生成 ipa 文件上传与审核指南
android·macos·ios·小程序·uni-app·iphone·xcode
亮子AI1 天前
【小程序】微信小程序隐私协议
微信小程序·小程序
weixin_177297220691 天前
短剧小程序系统开发:打造个性化娱乐新平台
小程序·娱乐·短剧
weixin_lynhgworld1 天前
剧本杀小程序系统开发:开启沉浸式社交娱乐新纪元
小程序·娱乐
~废弃回忆 �༄2 天前
mobx-miniprogram小程序的数据传输
小程序