美文网首页
vue中v-for获取多个input值

vue中v-for获取多个input值

作者: yong_zai | 来源:发表于2019-11-29 17:50 被阅读0次

    前言

    近期项目中遇到 v-for 动态控制 input输入框显示的功能,但只有一个input框,使用v-model 绑定一个值会导致输入框内的所有值同步更改,那如何获取每个input框内的值呢 ? 废话不多说,先上图

    主要思路

    • input 上使用 v-model绑定到数据源的其中一个字段
    • 若后台没有该字段则自己动态添加一个并组装

    页面如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
      <style>
        #app {
          width: 100%;
          margin-left: 500px;
          margin-top: 100px;
        }
        .inputArea {
          display: block;
          margin: 6px 0;
          height: 30px;
          line-height: 30px;
        }
        .postData {
          margin-top: 20px;
          width: 150px;
          height: 30px;
          line-height: 30px;
          text-align: center;
          border: 1px solid #ccc;
          text-align: center;
          cursor: pointer;
        }
        .res {
          margin-top: 10px;
        }
      </style>
    </head>
    
    <body>
    
      <div id="app">
          <input type="text" class="inputArea" v-for="input in dataList" :key="input.id" v-model="input.model">
          <div class="postData" @click="getInputListValue">获取输入值</div>
          <div class="res" v-show="isShowResData">{{resData}}</div>
      </div>
    
      <script>
    
        new Vue({
          el: '#app',
          data: function() {
            return {
              dataList:[
                {id:"1",model:""},
                {id:"2",model:""},
                {id:"3",model:""},
                {id:"4",model:""},
                {id:"5",model:""},
              ],
              resData:[],
              isShowResData:false,
            }
          },
    
          methods:{
            getInputListValue: function () {
              for (let i = 0; i < this.dataList.length;i++) {
                 let res = this.dataList[i].model;
                 this.resData.push(res);
                 this.isShowResData = true;
              }
            }
          }
        })
      </script>
    
    </body>
    
    </html>
    

    写到最后

    学无止境,希望本文可以帮到您,与君共勉,感谢。

    相关文章

      网友评论

          本文标题:vue中v-for获取多个input值

          本文链接:https://www.haomeiwen.com/subject/mevgwctx.html