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 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
JavaScript DOM 添加事件
Feb 14 Javascript
Javascript remove 自定义数组删除方法
Oct 20 Javascript
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
Aug 07 Javascript
jQuery中even选择器的定义和用法
Dec 23 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
js实现音乐播放控制条
Sep 09 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
angular 用Observable实现异步调用的方法
Dec 27 Javascript
vue-router之实现导航切换过渡动画效果
Oct 31 Javascript
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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php foreach、while性能比较
2009/10/15 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Python 递归函数详解及实例
2016/12/27 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
廉洁家庭事迹材料
2014/05/15 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
加强党性修养心得体会
2016/01/21 职场文书
PHP设计模式(观察者模式)
2021/07/07 PHP
Java8中Stream的一些神操作
2021/11/02 Java/Android