js延时函数

用于检测input框的输入验证,做一些错误弹出提示,之前用的是比较LOW的写法,记录用户输入的时间和结束的时间,用结束的时间去减去输入的时间,可能有时候会有些小bug,今天发现了一种感觉还不错的方法

本文用的是vue里面的实例

 <input type="text" v-model="email" @keyup="emails($event)">

  data() {
    return {
      email: "",
      inputTimeout: null,
      delay: 1000
    }
  },
  methods: {
    emails(e) {
    if (this.delay > 0) {
      if (this.inputTimeout) {
        window.clearTimeout(this.inputTimeout);
      }  
        this.inputTimeout = setTimeout(() => {
        console.log(this.email);
      }, this.delay);
    } else {
      console.log(this.email)
    }
  }
}

就这的几句话搞定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。