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对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
webpack-dev-server远程访问配置方法
Feb 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
如何正确理解PHP的错误信息
2006/10/09 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
javascript基本语法分析说明
2008/06/15 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
jquery学习笔记之无new构建详解
2017/12/07 jQuery
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
python中随机函数random用法实例
2015/04/30 Python
Python判断Abundant Number的方法
2015/06/15 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python matplotlib库的基本使用
2020/09/23 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis