Vue + Element 实现按钮指定间隔时间点击思路详解

 更新时间:2023年12月07日 16:01:31   作者: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按钮指定间隔时间点击内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue基础之data存储数据及v-for循环用法示例

    vue基础之data存储数据及v-for循环用法示例

    这篇文章主要介绍了vue基础之data存储数据及v-for循环用法,结合实例形式分析了vue.js使用data存储数据、读取数据及v-for遍历数据相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • vue.js中proxyTable 转发请求的实现方法

    vue.js中proxyTable 转发请求的实现方法

    今天小编就为大家分享一篇vue.js中proxyTable 转发请求的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue如何实现验证码输入交互

    Vue如何实现验证码输入交互

    这篇文章主要介绍了Vue实现验证码输入交互的示例,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-12-12
  • vue调试工具vue-devtools的安装全过程

    vue调试工具vue-devtools的安装全过程

    这篇文章主要介绍了vue调试工具vue-devtools的安装全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 在nuxt使用vueX代替storage的实现方案

    在nuxt使用vueX代替storage的实现方案

    这篇文章主要介绍了在nuxt使用vueX代替storage的实现方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue-electron项目创建记录及问题小结解决方案

    vue-electron项目创建记录及问题小结解决方案

    这篇文章主要介绍了vue-electron项目创建记录及注意事项,本文给大家分享了运行项目报错的问题小结及多种解决方案,需要的朋友可以参考下
    2024-03-03
  • 基于Echarts图表在div动态切换时不显示的解决方式

    基于Echarts图表在div动态切换时不显示的解决方式

    这篇文章主要介绍了基于Echarts图表在div动态切换时不显示的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue3实现组件二次封装的小技巧分享

    Vue3实现组件二次封装的小技巧分享

    组件的二次封装:保留组件已有的功能,需要重写组件方法,当组件已有大量功能时候,则需要重写很多重复代码,且组件功能进行修改的时候,封装的组件也需要对应修改,从而造成许多开发和维护成本,本文给大家分享了Vue3实现组件二次封装的小技巧,需要的朋友可以参考下
    2024-09-09
  • uniapp宽屏开发PC端方案及衍生问题解决办法

    uniapp宽屏开发PC端方案及衍生问题解决办法

    在uniapp中进行宽屏开发,主要是指在电脑端(PC端)使用宽屏显示效果进行应用的开发,这篇文章主要给大家介绍了关于uniapp宽屏开发PC端方案及衍生问题解决办法,需要的朋友可以参考下
    2024-03-03
  • vue项目部署到非根目录下的问题及解决

    vue项目部署到非根目录下的问题及解决

    这篇文章主要介绍了vue项目部署到非根目录下的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04

最新评论