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 Event学习第四章 传统的事件注册模型
Feb 07 Javascript
jQuery对象[0]是什么含义?
Jul 31 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
基于javascript显示当前时间以及倒计时功能
Mar 18 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
angular之ng-template模板加载
Nov 09 Javascript
zepto.js 实时监听输入框的方法
Dec 04 Javascript
BootstrapValidator验证用户名已存在(ajax)
Nov 08 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分页函数
2006/07/08 PHP
php GD绘制24小时柱状图
2008/06/28 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
Python while 循环使用的简单实例
2016/06/08 Python
常见python正则用法的简单实例
2016/06/21 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python3.x实现base64加密和解密
2019/03/28 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
什么是封装
2013/03/26 面试题
工作表扬信的范文
2014/01/10 职场文书
美容院考勤制度
2014/01/30 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
环保倡议书100字
2014/05/15 职场文书
经济类毕业生求职信
2014/06/26 职场文书
防汛工作情况汇报
2014/10/28 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
2022漫威和DC电影上映作品
2022/04/05 欧美动漫