首页 > 其他分享 >直播开发app,vue防抖 自定义ref实现输入框防抖

直播开发app,vue防抖 自定义ref实现输入框防抖

时间:2023-06-27 14:11:44浏览次数:58  
标签:防抖 vue 自定义 text debUpdata ref


直播开发app,vue防抖 自定义ref实现输入框防抖

  首先需要把input 的双向绑定v-mode 拆开为 一个value 和一个input事件,在事件里注册一个函数 debUpdata,debUpdata里获取到input输入内容再赋值给text,这就类似于手写v-mode,代码如下:

 


<template>
  <div class="hello">
    <input :value="text" @input="debUpdata" />
    <p>{{ text }}</p>
  </div>
</template>
 
<script>
<script setup>
  import{ref} from 'vue';
  const text =ref('');
  const debUpdata=(e)=> {
  this.text = e.target.value;
}
</script>

       具体防抖操作,就可以在debUpdata函数里进行操作,所谓防抖,无非就是让数据的变化延迟执行,所以在debUpdata内定义一个timer,每一次执行函数的时候先清空timer,然后在使用setTimeout 定时一秒之后,改变text的值,就实现了最基础的防抖。代码如下:

 


 debUpdata(e) {
      clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.text = e.target.value;
      }, 1000);
    }

 

 以上就是 直播开发app,vue防抖 自定义ref实现输入框防抖,更多内容欢迎关注之后的文章

 

标签:防抖,vue,自定义,text,debUpdata,ref
From: https://www.cnblogs.com/yunbaomengnan/p/17508702.html

相关文章

  • 基于vue+elementUI使用vue-amap高德地图
    首先,需要去高德地图进行注册一个https://lbs.amap.com/?ref=https://console.amap.com/dev/index,得到一个key然后安装依赖npminstallvue-amap—save在main.js中加入importVueAMapfrom'vue-amap’;Vue.use(VueAMap);VueAMap.initAMapApiLoader({key:'YOUR_KEY’......
  • vue-element-admin 动态路由踩坑之路。。。
    参考帖子1.菜单详解(主要是加载原理,还有一些脚本,json格式的参考)https://blog.csdn.net/weixin_44922964/article/details/120927244https://blog.csdn.net/qq_57581439/article/details/1278629972.三级路由:https://www.cnblogs.com/netcore-vue/p/14911375.html(这个主要是加载......
  • 【HarmonyOS】低代码开发使用module中的自定义组件
     “Module是应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module,每个Module分为Ability和Library两种类型。”这个是HarmonyOS......
  • vue3透传 Attributes
    “透传attribute”指的是传递给一个组件,却没有被该组件声明为props或emits的attribute或者 v-on 事件监听器。最常见的例子就是 class、style 和 id当一个组件以单个元素为根作渲染时,透传的attribute会自动被添加到根元素上A组件:<template><h3>ComponentA</......
  • Vue2电商实战项目(六)个人中心
    个人中心Center组件先搞定静态组件###router.routes.jsimportCenterfrom'@/pages/Center'exportdefault[ { name:"center", path:"/center", component:Center, meta:{ show:true } }......拆分Center组件,把我的订单和团购订单拆分成两个子路......
  • Spring REST 接口自定义404不能捕获NoHandlerFoundException问题
    SpringREST接口自定义404以及解决不能捕获NoHandlerFoundException问题  一、自定义404响应内容版本说明:SpringBoot2.0.1.RELEASEREST风格默认PostMan请求的404响应如下:{"timestamp":"2018-06-07T05:23:27.196+0000","status":404,"error":&quo......
  • 【vue2】使用vue常见的业务流程与实现思路
     ......
  • Vue如何在页面加载时将url的参数赋值给组件
    <template> <inputv-model="loginForm.username" name="username" type="text" tabindex="1" auto-complete="on" /><inputv-model="loginForm.password":type="passwordType"......
  • 【vue2】vuex超超超级详解!(核心五大配置项)
    ......
  • 【vue2】Vue Cli脚手架与VueTools的安装详解
    ......