1、业务需求
需要加一个按钮,调用第三方API,按钮十分钟之内只能点击一次,刷新页面也只能点击一次
2、思路
加一个本地缓存的时间戳,通过时间戳计算指定时间内不能点击按钮
3、实现
1)vue页面
<template>
<el-row :gutter="15">
<el-col :span="4">
<el-button
type="danger"
icon="el-icon-download"
@click="getData"
:loading="getDataLoading">获取数据</el-button>
</el-col>
</el-row>
</template>
<script type="text/ecmascript-6">
import { GetDataInfo } from '@/api/xxx'
export default {
data () {
return {
getDataLoading: false,
}
},
methods: {
// 获取数据按钮,10分钟内执行一次(本地缓存)
async getData () {
const storedTime = localStorage.getItem('lastClickGetDataTime')
const currentTime = Date.now() // 时间戳(秒级)
if (!storedTime || (currentTime - storedTime) / 1000 / 60 >= 10) {
// 如果存储的时间不存在或者距离上次点击时间超过10分钟,则执行按钮点击操作
this.getDataLoading = true
try {
await GetDataInfo({})
} catch (error) {
this.getDataLoading = false
}
this.getDataLoading = false
localStorage.setItem('lastClickGetDataTime', currentTime)
} else {
// 距离上次点击时间小于10分钟,不做任何操作或给出提示
this.$message({
message: '请在十分钟后再点击按钮',
type: 'warning',
})
}
},
},
}
</script>
// 注:指定时间可以根据需要更新,比如1分钟内只能点击一次,只需要将循环部分改为
if (!storedTime || (currentTime – storedTime) / 1000 >= 60)
2) 效果
希望以上内容能够帮助你使用Vue + Element 实现按钮指定间隔时间点击。欢迎点赞、关注、收藏,如果你还有其他问题,欢迎评论区交流。
千百度
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容