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 读取和设置文档元素的样式属性
Apr 14 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
Jun 14 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
vue+vuex+axios实现登录、注册页权限拦截
Mar 09 Javascript
JS实现根据数组对象的某一属性排序操作示例
Jan 14 Javascript
javascript如何实现create方法
Nov 04 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 Javascript
Vue 实现可视化拖拽页面编辑器
Feb 01 Vue.js
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
C# Assembly类访问程序集信息
2009/06/13 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
绑定回车enter事件代码
2014/05/18 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
Python列表list数组array用法实例解析
2014/10/28 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
python Selenium 库的使用技巧
2020/10/16 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
html5画布旋转效果示例
2014/01/27 HTML / CSS
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
计算机专业推荐信范文
2013/11/20 职场文书
师德个人剖析材料
2014/02/02 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
赢在中国观后感
2015/06/02 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
MySQL学习之基础操作总结
2022/03/19 MySQL
python获取字符串中的email
2022/03/31 Python