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实现的类似百度搜索的输入框自动完成功能
Aug 23 Javascript
jQuery实用基础超详细介绍
Apr 11 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
谈谈因Vue.js引发关于getter和setter的思考
Dec 02 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
微信小程序之圆形进度条实现思路
Feb 22 Javascript
JS实现图片旋转动画效果封装与使用示例
Jul 09 Javascript
javascript单张多张图无缝滚动实例代码
May 10 Javascript
uni-app使用微信小程序云函数的步骤示例
May 22 Javascript
微信小程序实现多行文字滚动
Nov 18 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入门速成教程
2007/03/19 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
设定php简写功能的方法
2019/11/28 PHP
Javascript实现的分页函数
2007/02/07 Javascript
网上抓的一个特效
2007/05/11 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
python 实现插入排序算法
2012/06/05 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
Linux中如何用命令创建目录
2015/01/12 面试题
大学生活学习的自我评价
2013/12/03 职场文书
中学生校园广播稿
2014/01/16 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
小学二年级语文教学反思
2016/03/03 职场文书