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 相关文章推荐
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
Oct 24 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
jquery()函数的三种语法介绍
Oct 09 Javascript
jquery常用特效方法使用示例
Apr 25 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 Javascript
javascript日期比较方法实例分析
Jun 17 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
Jul 12 Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
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通用防注入程序 推荐
2011/02/26 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
js中生成map对象的方法
2014/01/09 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
react基本安装与测试示例
2020/04/27 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
努比亚手机官网:nubia
2016/10/06 全球购物
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
在校学生职业规划范文
2014/01/08 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
火车来了教学反思
2014/02/11 职场文书
基层党员对照检查材料
2014/09/24 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript