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 相关文章推荐
ArrayList类(增强版)
Apr 04 Javascript
JavaScript 脚本将当地时间转换成其它时区
Mar 19 Javascript
JS.findElementById()使用介绍
Sep 21 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
原生JavaScript实现remove()和recover()功能示例
Jul 24 Javascript
详解js模板引擎art template数组渲染的方法
Oct 09 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 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 ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
vue表单数据交互提交演示教程
2019/11/13 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
python图像和办公文档处理总结
2019/05/28 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
中学生运动会通讯稿大全
2014/09/18 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
南京大屠杀观后感
2015/06/02 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python