vue3 customRef定义一个输入框防抖

<template>

  <input type="text" v-model="keyWrod" />

  <br />

  <span>{{ keyWrod }}</span>

</template>

<script>

import { customRef } from "vue";

export default {

  name: "App",

  setup() {

    let keyWrod = myRef("1231",500);

    function myRef(value,delay) {

      let timer;

      return customRef((track, trigger) => {

        return {

          get() {

            track();

            return value;

          },

          set(newValue) {

            clearTimeout(timer)

            timer = setTimeout(() => {

              value = newValue;

              trigger();

            }, delay);

          },

        };

      });

    }

    return {

      keyWrod,

    };

  },

};

</script>

<style>

</style>

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

推荐阅读更多精彩内容

  • 一.简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) 和vue2相比它的...
    e只咸鱼阅读 2,165评论 4 37
  • Vue3快速上手 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海...
    危笑v演绎阅读 369评论 0 0
  • 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) 耗时2年多...
    WebGiser阅读 2,342评论 0 0
  • Vue3快速上手 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海...
    冷r阅读 2,969评论 1 38
  • 一、Vue3启程 1. 初始Vue3 姓名:{{name}} 年龄:{{age}} 修改数据 /...
    野鸽儿阅读 594评论 0 0