wx: wx.showModal 回调函数中调用自定义方法

一、在回调函数中调用自定义方法:

回调函数中不能直接使用this,需要在外面定义 var that = this 然后 that.自定义的方法。如下:

  //删除
  onDelete: function (e) {
    var that = this;
    wx.showModal({
      title: ‘提示‘,
      content: ‘确定要删除?‘,
      success: function (res) {
        if (res.confirm) {
          that.onEdit(e);
        }
      }
    })
  },
  //编辑
  onEdit: function (e) {
    console.log(‘编辑‘);
  },

二、详解弹框wx.showToast、wx.showModal、wx.showActionSheet,modal控件解释及input输入框值的获取

(1)、wx.showToast

  wx.showToast({
    title: ‘失败‘,//提示文字
    duration: 2000,//显示时长
    mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
    icon: ‘success‘, //图标,支持"success"、"loading"
    success: function () { },//接口调用成功
    fail: function () { },  //接口调用失败的回调函数
    complete: function () { } //接口调用结束的回调函数
  })

(2)、wx.showModal

  wx.showModal({
    title: ‘删除图片‘,
    content: ‘确定要删除该图片?‘,
    showCancel: true,//是否显示取消按钮
    cancelText: "否",//默认是“取消”
    cancelColor: ‘skyblue‘,//取消文字的颜色
    confirmText: "是",//默认是“确定”
    confirmColor: ‘skyblue‘,//确定文字的颜色
    success: function (res) {
      if (res.cancel) {
        //点击取消,默认隐藏弹框
      } else {
        //点击确定
        temp.splice(index, 1),
          that.setData({
            tempFilePaths: temp,
          })
      }
    },
    fail: function (res) { },//接口调用失败的回调函数
    complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行)
  })

(3)、wx.showActionSheet

  wx.showActionSheet({
    itemList: [‘列1‘, ‘列2‘, ‘列3‘],//显示的列表项
    success: function (res) {//res.tapIndex点击的列表项
      console.log("点击了列表项:" + that[res.tapIndex])
    },
    fail: function (res) { },
    complete: function (res) { }
  })

原文地址:https://www.cnblogs.com/xubao/p/12151687.html

时间: 2024-08-07 08:19:29

wx: wx.showModal 回调函数中调用自定义方法的相关文章

回调函数中调用类中的非静态成员变量或非静态成员函数

有关这方面的问题,首先说一点: 回调函数必须是静态成员函数或者全局函数来实现回调函数,大概原因是普通的C++成员函数都隐含了一个函数参数,即this指针,C++通过传递this指针给成员函数从而实现函数可以访问类的特定对象的数据成员.由于this指针的原因,使得一个普通成员函数作为回调函数时就会因为隐含的this指针问题使得函数参数个数不匹配,从而导致回调函数编译失败. 基于上面的理论,如何在类中封装回调函数呢? 回调函数只能是全局函数或者静态成员函数,但是由于全局函数会破坏封装性,所以只能用静

理解 JS 回调函数中的 this

理解 JS 回调函数中的 this:https://www.cnblogs.com/gavinyyb/p/6286750.html 原文链接:http://www.tuicool.com/articles/z2Yvaq 任何变量或对象都有其赖以生存的上下文.如果简单地将对象理解为一段代码,那么对象处在不同的上下文,这段代码也会执行出不同的结果. 例如,我们定义一个函数 getUrl 和一个对象 pseudoWindow . function getUrl() { console.log(this

=> 应用在js回调函数中

=> 可以简化以前的回调函数的调用,具体来说: 今后,几乎所有的回调函数都可用箭头函数简化 比如: 1. 所有回调函数都可: 去function改=> 2. 如果函数体只有一句话: 可省略{} 如果这一句话还是return,可省略return 3. 如果只有一个参数: 可省略() 但是,如果没有参数,必须保留空() 更大用途: 箭头函数内外共用同一个this--取代bind 特殊: 如果不希望内外共用this,就不能用箭头函数 比如事件处理函数: elem.addEventListener(&

在类的成员函数中调用delete this

在类的成员函数中能不能调用delete this?答案是肯定的,能调用,而且很多老一点的库都有这种代码.假设这个成员函数名字叫release,而delete this就在这个release方法中被调用,那么这个对象在调用release方法后,还能进行其他操作,如调用该对象的其他方法么?答案仍然是肯定 的,调用release之后还能调用其他的方法,但是有个前提:被调用的方法不涉及这个对象的数据成员和虚函数.说到这里,相信大家都能明白为什么会这样 了. 根本原因在于delete操作符的功能和类对象的

在信号处理函数中调用longjmp

错误情况及原因分析 前两天看APUE的时候,有个程序要自己制作一个sleep程序,结果在这个程序中就出现了在信号处理函数中调用longjmp函数的情况,结果就出现了错误,具体错误是啥呢,请参见下面这段程序: 1 /* 2 * 在信号处理函数中调用longjmp的错误情况 3 */ 4 #include <errno.h> 5 #include <setjmp.h> 6 #include <signal.h> 7 #include <string.h> 8 #

ajax回调函数中使用$(this)取不到对象的解决方法

如果在ajax的回调函数内使用$(this)的话,实践证明,是取不到任何对象的,需要的朋友可以参考下 $(".derek").each(function(){ $(this).click(function(){ var params = $(this).parent().serialize(); var obj=$(this).parent().siblings("div#caskContent"); var form=$(this).parent(); $.aja

vue中this在回调函数中的使用

this在各类回调中使用: 如果是普通函数是没法使用的 所以需要先将this.变量赋值给新的变量,然后才能在回调函数中使用 例如: refund: function (id) { if (!this.url.refund) { this.$message.error("请设置url.refund属性!") return } var that = this; this.$confirm({ title: "确认退款", content: "是否要进行退款?&

设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名

function acceptFuncs() { var fnNames = []; //定义数组字面量,用来保存函数名称 for (var i = 0; i < arguments.length; i++) { //for循环检测接收到的每个参数是否为函数,是则传递回调函数给它,最后所结果压入数组中 if (typeof arguments[i] === "function") { fnNames.push(arguments[i](callback)); } } for (v

hiredis aeStop仅在redis命令的回调函数中生效 分析

hiredis 是 redis 的client端C语言 lib,  hiredis拥有同步和异步的API, 异步API的实现有多种方法,分别依赖libev, libevent, libuv, ae等等,其中ae是redis内部实现的一个异步事件处理模块. 稍微修改了hiredis的example-ae.c代码:在一个线程里面循环10次执行命令ping, 检查redisserver, 如下所示, 线程发完10次ping后,调用disconnect, 发现aeMain函数并未退出,程序一直阻塞住.