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 相关文章推荐
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
详解JavaScript ES6中的Generator
Jul 28 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
JavaScript之数组扁平化详解
Jun 03 Javascript
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
JS实现百度搜索框关键字推荐
Feb 17 Javascript
vue2.x 对象劫持的原理实现
Apr 19 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 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 获取mysql数据库信息代码
2009/03/12 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
json 实例详细说明教程
2009/10/31 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
vue.js中created方法作用
2018/03/30 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python高斯消除矩阵
2019/01/02 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
出纳员岗位职责
2014/03/13 职场文书
法院信息化建设方案
2014/05/21 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
团代会开幕词
2015/01/28 职场文书
投诉信回复范文
2015/07/03 职场文书
小学语文教学随笔
2015/08/14 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python