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 相关文章推荐
IE 条件注释详解总结(附实例代码)
Aug 29 Javascript
Javascript中valueOf与toString区别浅析
Mar 19 Javascript
使用js 设置url参数
Jul 08 Javascript
基于socket.io和node.js搭建即时通信系统
Jul 30 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 Javascript
jQuery内容筛选选择器实例代码
Feb 06 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
详解JavaScript事件循环机制
Sep 07 Javascript
Vue通过ref父子组件拿值方法
Sep 12 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
Oct 29 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
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
php数组删除元素示例
2014/03/21 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Prototype Class对象学习
2009/07/19 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
python概率计算器实例分析
2015/03/25 Python
Python运用于数据分析的简单教程
2015/03/27 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
对python中的argv和argc使用详解
2018/12/15 Python
python视频按帧截取图片工具
2019/07/23 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
我与祖国共奋进演讲稿
2014/09/13 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
Python利用capstone实现反汇编
2022/04/06 Python