两步教你用Vue3+TS实现input组件的v-model属性
实现自定义input组件的v-model属性
- 前言
- 第一步
- 第二步
- 效果
前言
使用过一些ui框架的同学应该都知道input里面的值有一个绑定的v-model属性,这篇文章教大家如何给自己定义的input组件写一个v-model的绑定属性
第一步
创建名为modelValue的属性:
props: {modelValue: String},
第二步
在更新值的时候要发送一个名为update:modelValue的事件
const updateValue = (e: KeyboardEvent) => {const targetValue = (e.target as HTMLInputElement).valueinputRef.val = targetValuecontext.emit('update:modelValue', targetValue)}
详解:
- KeyboardEvent事件对象用来监听键盘的输入
- 拿到当前 input 里面的值 targetValue
- 将 inputRef.val 的值更新为 targetValue
- 最后在 context.emit 中写入 update:modelValue事件
注意在使用context.emit之前要在setup中添加第二个参数context
setup(props, context) {const inputRef = reactive({val: props.modelValue || '',error: false,message: ''})const updateValue = (e: KeyboardEvent) => {const targetValue = (e.target as HTMLInputElement).valueinputRef.val = targetValuecontext.emit('update:modelValue', targetValue)}
}
效果
组件写完之后直接在app.vue里面使用就可以了
导入ref :
import { defineComponent, reactive, ref } from 'vue'
然后在setup()中定义
const emailVal = ref('viking')
在输入框添加v-model属性,并在下面绑定值
输入框输入数字,下面内容也能显示对应的值
两步教你用Vue3+TS实现input组件的v-model属性相关推荐
- 分享一个基于Vue3+TS构建Cesium组件库
分享一个基于Vue3+TS构建Cesium组件库 点击进入 Vue Cesium官网 //vc-navigation <template><el-row ref="view ...
- 只需两步,教你正确识别百度蜘蛛
经常听到站长们问,百度蜘蛛是什么?最近百度蜘蛛来的太频繁服务器抓爆了,最近百度蜘蛛都不来了怎么办,还有很多站点想得到百度蜘蛛的IP段,想把IP加入白名单,但IP不固定,这些百度方面并未透露相关信息. ...
- 两步教你Linux修改主机名
Linux修改主机名,网上许多教程写的都比较复杂,什么又要修改网络配置.hosts等. 实际上Linux修改主机名可简单通过如下两步完成: 1.临时性修改Linux主机名:hostname 新主机名 ...
- github的python代码怎么跑_python程序员一步两步教你使用GitHub!
作为一个Python爬虫师一步步教你们怎么把代码放入到github 中! 首先呢我们下载一个git的客户端 学习Python中有不明白推荐加入交流群号: 前面548中间377后面875 群里有志同道合 ...
- 放大缩小不习惯?只需两步教你solid works如何设置反转滚轮缩放
第一步,打开设置 第二步,在 "设置-视图" 中勾选 "反转鼠标滚轮缩放方向"最后点击确定 OK,现在缩放视图就更适合大部分人的习惯了.
- 扔掉U盘:两步教你如何使用硬盘装系统(适用gpt磁盘)
原文地址:https://www.ithome.com/html/win10/303302.htm 很多同学在安装系统的时候习惯先把系统镜像刻录到U盘里,这样不仅不方便,U盘里的数据也需清空.如果你想 ...
- 极客DIY:只用两步教你制作一款可编程键盘 [译]
原文出处: Freebuf黑客与极客 对于那些工作时需要与许多组合键打交道的人(比如经常使用Photoshop的人)来说,一款可编程键盘无疑是十分实用的.本期的DIY将为大家带来一款可编程键盘,其制 ...
- mapbox进不去_Tableau 地图 | 两步教你用Mapbox
继续昨天的地图主题,今天来聊聊如何能做更好看的地图,那就是:Mapbox (如果你是手机看的话,下边的gif点开后才可以看到动图) 这个回答写了关于GIF的情况 先说历史 2008年8月,Tablea ...
- 两步教你在Vue中设置登录验证拦截!
Hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 今天在做vue和springboot交互的一个项目的时候,想要基于前端实现一些只有登录验证之后才能访问某些页面的操作,所以在这里总结一下实现 ...
最新文章
- 赵本山说日本车。(笑死不偿命)
- php要求输入是个数求平均值、_【227期】EXCEL求平均值的各种套路汇聚合,最后难倒70%的人...
- [Jsoi2016]最佳团体 BZOJ4753 01分数规划+树形背包/dfs序
- 孙正义看未来30年:投资趋势,永远不会错
- 浅析Facebook LibraBFT与比原链Bystack BBFT共识
- 网站 服务器 用sqlite,sqlite服务器数据库
- NOI数据结构:最小树形图
- fatal error: openssl/evp.h: 没有那个文件或目录
- java动态规划法实例_动态规划法实现找零 java
- matlab做聚类分析瓶面柱状图,MATLAB聚类分析工具箱
- 1.3.1 计算机的主要性能指标 (机器字长、数据通路带宽、主存容量、运算速度、吞吐量、响应时间、主频和时钟周期、CPI、CPU执行时间、MIPS、MFLOPS、GFLOPS、TFLOPS)
- mysql分页合并同类项,人教版初三数学复习目录(全)
- 基于深度学习的CNN边缘检测RCF--Richer Convolutional Features for Edge Detection
- 计算机毕业设计springboot+vue基本微信小程序的校园二手商城的设计与实现
- 国产服务器的安全监控之法
- document.getElementById(id) 与 $(#id) 的区别
- SpringCloud知识点总结
- 齐振宏教授 变革领导力导师
- android go官方下载,安卓11go版本下载-安卓11go版本官方下载安装 -优盘手机站
- Activity has leaked window DecorView@992a599[XXXActivity] that was originally add
热门文章
- seraku智能android镜面,安卓智能镜面 边照镜子边看天气量体重
- SQL删除表中某字段下为空的数据
- 智慧楼宇篇 1 —— 室内定位技术(一) - RFID室内定位技术
- [职场话题]外地户口转广州户口有身什么条件?
- AD显示“Net has no driving source”的解决办法
- 基于颜色布局描述符(CLD)图像特征提取算法使用Python实现简单的人脸检测功能并使用PyQt5构建简单的功能界面(数字图像处理课程实验)
- 推荐一款非Win7下专用的“任务栏图标收纳”工具——TrayApp(转自:http://www.ibobosky.com/my-quick-start-tool-trayapp.htm)
- 企信通100短信平台对各个行业短信应用需求分析
- 半导体物理与器件 第六章
- 三星win平板刷linux,三星新专利:平板秒变Win10笔记本