Vue + Element 实现按钮指定间隔时间点击思路详解
作者:GoodTimeGGB
这篇文章主要介绍了Vue + Element 实现按钮指定间隔时间点击,实现思路大概是通过加一个本地缓存的时间戳,通过时间戳计算指定时间内不能点击按钮,具体实现代码跟随小编一起看看吧
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 实现按钮指定间隔时间点击。
到此这篇关于Vue + Element 实现按钮指定间隔时间点击的文章就介绍到这了,更多相关vue Element按钮指定间隔时间点击内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!