小程序按钮避免多次调用接口和点击方案实现(不用showLoading)


Posted in Javascript onApril 15, 2020

本来是用showLoading的,点击直接转菊花,但是呢,showLoading和 showToast这个方法是冲突的,你转了菊花不能弹toast提示,在某个页面需要提交一次表单和做输入验证,测试说可以点击多次

然后想到可以用一个变量判断是否点击了,然后500毫秒后自动回来

写在公共的utils方法里面

// 防止多次点击
function btnClickedFun(self) {
  self.setData({
    btnClicked: true
  })
  setTimeout(() => {
    self.setData({
      btnClicked: false
    })
  })
}

js 代码

Page({
 data: {
  btnClicked: false
 },
 click: function (e) {
  utils.btnClickedFun(this);
  // 各种处理代码
  
  if (!form[json.departmentId]) {
    utils.showToast('请选择所属部门')
    return
  }
  ...
  // 各种处理代码
  
  utils.showLoading()
  
  开始调接口
  

 },
})

html代码

<view bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" />
<button bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" />
<button bindtap="click" disabled="buttonClicked" data-id="{{id}}" />

到此这篇关于小程序按钮避免多次调用接口和点击方案实现(不用showLoading)的文章就介绍到这了,更多相关小程序按钮避免多次点击内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Extjs学习笔记之六 面版
Jan 08 Javascript
js实现拖拽效果
Feb 12 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
Dec 02 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 Javascript
JavaScript实现多球运动效果
Sep 07 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
JavaScript数组reduce()方法的语法与实例解析
Jul 07 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
Apr 15 #Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 #Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 #Javascript
vue-cli设置publicPath小记
Apr 14 #Javascript
vue 实现用户登录方式的切换功能
Apr 14 #Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 #Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
Apr 14 #Javascript
You might like
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
js自动生成对象的属性示例代码
2013/10/28 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
单位未婚证明范本
2014/11/25 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
法学专业求职信范文
2015/03/19 职场文书
致运动员赞词
2015/07/22 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技