vue获取input输入值的问题解决办法


Posted in Javascript onOctober 17, 2017

vue获取input输入值的问题解决办法

v-for里有多行input输入框,vue怎么获取某行的输入的值,随便写了点代码,意思就是后台返回了多行的list集合,页面显示多行输入框,当修改某行的值时进行校验,输入错误友好提示下,后边加个清空按钮,点击清空当前行数据,最开始的想法是,用v-bind:value绑定值,这样就出现一种情况,页面输入的值无法获取到,v-bind不会修改原始list里的值,而且ref也不能动态绑定,ref只能全部获取,this.$refs.itemPriceRef[],这样取的是所有输入框的值,是个数组,可以在提交前进行验证,但是无法判断某一行操作,并且vue操作DOM元素非常非常差,找了N多资料愣是没找到获取值的方法,最后发现用v-model直接绑定list里的值问题解决了,这样在修改时会直接修改list里的值,就不存在输入值和原始值不同的问题了,VUE在绑定值方面做挺方便的,刚开始学vue,用的不熟练,没想到这种方法,浪费了好多时间,不过也学会了很多东西。

PS:总结了3种方式获取页面输入框的值,1是用v-bind:value + ref方式获取,这种只适用有具体的输入框才行,

比如登录页,只有帐号密码输入框,

2是用v-model方式获取,这种是修改原始list值,所以在提交时,还需要遍历下原来的list,有点麻烦,

3是用v-model + ref 就是我写的这样,和2的区别是在提交时,直接用ref取值,感觉在未知数量的输入框时更好用

自己随便总结了下,估计在大神看来不值一提,但是对于我一个刚学习vue的人来说,确实浪费了我挺长时间,

花点时间记录下来,加深下印象。

<div v-model="skuList" v-for="(val, key) in skuList "> 
<div> 
<div> 
<span>价格:</span> 
<span><input type="text" v-model="val.price" ref="priceRef" v-on:change="checkPrice(val)"></span>
<pre name="code" class="html"><i v-on:click="dataClearStockPrice(val)"></i></pre></div><div><span>上限:</span><span><input class="stockTotal" type="text" v-model="val.stock" ref="totalRef"v-on:change="checkStock(val)"<span style="font-family:Arial,Helvetica,sans-serif"> ></span></span> 
<pre></pre> 
<p></p> 
<pre></pre> 
<pre name="code" class="html"><span style="font-family:Arial, Helvetica, sans-serif;"><i v-on:click="dataClearStockTotal(val)"></i> 
</span></div> 
</div> 
</div></pre><pre name="code" class="html"></pre><pre name="code" class="html">    checkPrice:function (data) { 
    var priceReg = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/; 
    if(!priceReg.test(data.price)){ 
     Toast({message: "格式错误"}); 
     data.price = ""; 
    } 
   }, 
   checkStock:function (data) { 
    var totalReg = /^[0-9]*$/; 
    if(!totalReg.test(data.stock)){ 
     Toast({message: "格式错误"}); 
     data.stock = ""; 
    } 
   }, 
   dataClearStockPrice:function(data){ 
    data.price = ''; 
   }, 
   dataClearStockTotal:function(data){ 
    data.stock = ''; 
   },</pre><br data-filtered="filtered"> 
<span style="white-space:pre" data-filtered="filtered"></span> 
<pre name="code" class="html"></pre> 
<p></p> 
<p><br data-filtered="filtered"> 
</p>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JavaScript While 循环基础教程
Apr 05 Javascript
jquery利用event.which方法获取键盘输入值的代码
Oct 09 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
Apr 29 Javascript
js+css实现文字散开重组动画特效代码分享
Aug 21 Javascript
使用JS正则表达式 替换括号,尖括号等
Nov 29 Javascript
通过sails和阿里大于实现短信验证
Jan 04 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
express.js中间件说明详解
Mar 19 Javascript
对vuex中store和$store的区别说明
Jul 24 Javascript
js实现盒子移动动画效果
Aug 09 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 #Javascript
Bootstrap图片轮播效果详解
Oct 17 #Javascript
vue组件之Alert的实现代码
Oct 17 #Javascript
JS实现按钮添加背景音乐示例代码
Oct 17 #Javascript
vue-cli之router基本使用方法详解
Oct 17 #Javascript
教你用Cordova打包Vue项目的方法
Oct 17 #Javascript
vue与TypeScript集成配置最简教程(推荐)
Oct 17 #Javascript
You might like
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
php实现计数器方法小结
2015/01/05 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
js数组的操作详解
2013/03/27 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
python实现输入数字的连续加减方法
2018/06/22 Python
python opencv实现运动检测
2018/07/10 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
大学生演讲稿范文
2014/01/11 职场文书
试用期员工考核制度
2014/01/22 职场文书
公司承诺书怎么写
2014/05/24 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
SQL基础的查询语句
2021/11/11 MySQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记