当前位置: 首页 > news >正文

vue封装基础input组件(添加防抖功能)

先看一下效果:
在这里插入图片描述

// 调用页面
<template><div><!-- v-model:伪双向绑定   --><my-input v-model="inputVal" label="姓名" type="textarea" /></div>
</template><script>
import MyInput from './MyInput.vue'
export default {name: 'index',data () {return {inputVal: '111'}},components: {MyInput},watch: {inputVal (newVal, oldVal) {// console.log('新旧值', { newVal, oldVal })this.getDataByInputVal()}},created () {this.getDataByInputVal = this.debounce(this.getDataByInputVal, 1000)},methods: {debounce (fn, wait = 500) {let timer = nullreturn function () {timer && clearTimeout(timer)timer = setTimeout(() => {console.log('防抖执行了')fn()}, wait)}},getDataByInputVal () {setTimeout(() => {console.log(this.inputVal)}, 1000)}}
}
</script><style scoped></style>
// my-input组件
<template><div class="my-input"><label>{{ label }}</label><inputv-bind="$attrs"@input="$emit('input', $event.target.value)"/></div>
</template><script>
export default {name: 'MyInput',props: {label: {type: String,required: false}}
}
</script><style scoped></style>
http://www.lryc.cn/news/272804.html

相关文章:

  • 小程序一次性订阅消息(消息通知):java服务端实现
  • 百度自由DIY小程序源码:PHP+MySQL组合开发 带完整的搭建教程
  • Vue中的选项式 API 和组合式 API,两者有什么区别
  • Linux下误删除后的恢复操作测试之extundelete工具使用
  • table表格中使用el-popover 无效问题解决
  • c++类全面讲解
  • 使用Python和Pygame库创建简单的的彩球效果
  • 第2课 使用FFmpeg读取rtmp流并用openCV显示视频
  • 【中小型企业网络实战案例 七】配置限速
  • Hive实战:实现数据去重
  • 客户满意度调查常用的ChatGPT通用提示词模板
  • Android--Jetpack--Paging详解
  • Unity 基于UDP实现本地时间与网络时间校验 防客户端修改日期作弊
  • ArduPilot开源代码之MatekSys Optical Flow 3901-L0X
  • 【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time
  • 人工智能AI与3D视觉技术的结合正在引领新一代移动机器人的革新
  • NSSCTF 简单包含
  • FlinkSQL处理Canal-JSON数据
  • 玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— DevEco Studio下载与安装
  • 大模型上下文长度的超强扩展:从LongLora到LongQLora
  • pdf格式转换为txt格式
  • scss使用for循环遍历,动态赋值类名并配置不同颜色
  • GaussDB数据库使用COPY命令导数
  • SunFMEA软件免费试用:FMEA的目标和限制是什么?
  • 【Redis交响乐】Redis中的数据类型/内部编码/单线程模型
  • APK 瘦身
  • GitHub上的15000个Go模块存储库易受劫持攻击
  • 避免3ds Max效果图渲染一片黑的4个正确解决方法
  • UI演示双视图立体匹配与重建
  • 添加一个编辑的小功能(PHP的Laravel)