最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue中input的v-model清空操作

来源:动视网 责编:小采 时间:2020-11-27 21:51:05
文档

vue中input的v-model清空操作

vue中input的v-model清空操作:问题来源 写input组件的时候需求一个清空按钮,但是如果直接修改prop中父级的传值会报错。但是如果不修改父级无法更新值,也会带来开发的问题。 解决 v-model 完成大部分数据双向绑定 <input type=text :value=inputValue @ch
推荐度:
导读vue中input的v-model清空操作:问题来源 写input组件的时候需求一个清空按钮,但是如果直接修改prop中父级的传值会报错。但是如果不修改父级无法更新值,也会带来开发的问题。 解决 v-model 完成大部分数据双向绑定 <input type=text :value=inputValue @ch


问题来源

写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清空操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

文档

vue中input的v-model清空操作

vue中input的v-model清空操作:问题来源 写input组件的时候需求一个清空按钮,但是如果直接修改prop中父级的传值会报错。但是如果不修改父级无法更新值,也会带来开发的问题。 解决 v-model 完成大部分数据双向绑定 <input type=text :value=inputValue @ch
推荐度:
标签: 操作 清空 清除
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top