首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue动态表单

Vue动态表单
EN

Stack Overflow用户
提问于 2020-10-08 05:34:39
回答 1查看 28关注 0票数 1

我有一个动态表单,用户可以输入一个项目,所需的数量和每个项目的成本,如下所示:

代码语言:javascript
复制
<form @submit.prevent="submit">

  <div class="form-group" v-for="(input,k) in inputs" :key="k">

    <input type="text" class="form-control" v-model="input.item">
    <input type="text" class="form-control" v-model="input.quantity">
    <input type="text" class="form-control" v-model="input.cost">
    <span>
      <i class="fas fa-minus-circle" @click="remove(k)" v-show="k || ( !k && inputs.length > 1)">Remove</i>
      <i class="fas fa-plus-circle" @click="add(k)" v-show="k == inputs.length-1">Add fields</i>
    </span>
  </div>
  <button>Submit</button>

</form>

我想要计算所有添加的项目的总成本。我试过了

代码语言:javascript
复制
export default {
  methods: {
      totalCost: function () {
          for (let i = 0; i < this.inputs.length; i++) {
              return this.inputs[i].cost*this.inputs[i].quantity
          }
      }
  }
}

但这只是给出了第一件商品的总成本。如何获取用户输入的所有项目的总成本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-08 05:41:02

for-loop中的return语句使其在计算第一件商品的成本后立即返回。

一种快速的解决方法是删除该return,并使用局部变量累加总和:

代码语言:javascript
复制
let total = 0
for (let i = 0; i < this.inputs.length; i++){
  total += this.inputs[i].cost * this.inputs[i].quantity
}
return total
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64252635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档