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随机排序(随即出牌)
Sep 17 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
详解Angular2中Input和Output用法及示例
May 21 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
6行代码实现微信小程序页面返回顶部效果
Dec 28 Javascript
laypage.js分页插件使用方法详解
Jul 27 Javascript
element form 校验数组每一项实例代码
Oct 10 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 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
重置版游戏视频
2020/04/09 魔兽争霸
深入php var_dump()函数的详解
2013/06/05 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
Javascript 入门基础学习
2010/03/10 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python中黄金分割法实现方法
2015/05/06 Python
Python作用域用法实例详解
2016/03/15 Python
python机器学习之贝叶斯分类
2018/03/26 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python实现图片插入文字
2019/11/26 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
python中get和post有什么区别
2020/06/19 Python
解除合同协议书
2014/04/17 职场文书
施工工地安全标语
2014/06/07 职场文书
2015年班干部工作总结
2015/04/29 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
Python数据分析入门之数据读取与存储
2021/05/13 Python
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
mysql 生成连续日期及变量赋值
2022/03/20 MySQL