vue中input的v-model清空操作


Posted in Javascript onSeptember 06, 2019

问题来源

写input组件的时候需求一个清空按钮,但是如果直接修改prop中父级的传值会报错。但是如果不修改父级无法更新值,也会带来开发的问题。

解决

v-model 完成大部分数据双向绑定

<input type="text" :value="inputValue"
      @change="$emit('change',$event.target.value)"
      @blur="$emit('blur',$event.target.value)"
      @focus="$emit('focus',$event.target.value)"
      @input ="$emit('input',$event.target.value)"
  >

四个事件将input的事件传递,在父级使用

<g-input v-model="num"></g-input>

但是在清空操作上出现难题,因为无论怎么操作都无法触发vue上的数据驱动,简单清空子组件上的维护的数据是没有同步到父级上的,这里无疑最佳方案就是单向的数据流,让子组件发生事件时通知父级,父元素传值发生改变,进而改变子组件。不过感觉这样做就违背使用v-model的初衷,但是也没有办法了

对要进行监听的dom绑定事件

子组件中:

<div @click="clear">
   <g-icon></g-icon>
</div>

将需要清空数据的消息告诉父级

clear(){
   this.$emit('inputclear',{clear:''})
  }

以上两种可以合并成

<div @click="$emit('inputclear',{clear:''})">
   <g-icon v-if="isClearShow" icon="error" class="clearForInput" ></g-icon>
</div>

父级中:

<g-input v-model="num" @inputclear="num = $event.clear"></g-input>

现在就可以了

总结

以上所述是小编给大家介绍的vue中input的v-model清空操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript 网页跳转的方法
Dec 24 Javascript
JS的反射问题
Apr 07 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
js简单实现删除记录时的提示效果
Dec 05 Javascript
jQuery中focus事件用法实例
Dec 26 Javascript
详解JavaScript权威指南之对象
Sep 27 Javascript
JS实现动画兼容性的transition和transform实例分析
Dec 13 Javascript
原生JS获取元素集合的子元素宽度实例
Dec 14 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
JavaScript制作3D旋转相册
Aug 02 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 #Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 #Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 #Javascript
微信小程序 搜索框组件代码实例
Sep 06 #Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 #Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 #Javascript
jQuery实现每日秒杀商品倒计时功能
Sep 06 #jQuery
You might like
PHP中实现图片的锐化
2006/10/09 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
CCPry JS类库 代码
2009/10/30 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
python读取文本中的坐标方法
2018/10/14 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Django如何实现防止XSS攻击
2020/10/13 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
SQL Server数据库笔试题和答案
2016/02/04 面试题
十佳教师事迹材料
2014/01/11 职场文书
服务员自我评价
2014/01/25 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
项目建议书
2015/02/04 职场文书
党员承诺书范文2015
2015/04/27 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL