Vue.js如何通过forEach循环使用计算属性

时间:2018-08-13 17:13:32

标签: vue.js vuejs2

我的用例就是这样,

  1. 我遍历对象数组以填充下拉菜单。
  2. 如果对下拉列表进行v模型建模,则只能获取对象ID或名称。但是我可以同时获得ID和名称。
  3. 所以我需要计算属性来找到所选对象的ID。

这是我的v-select

<v-select
                label="Select an item"
                :items="items"
                item-text="name"
                v-model="item_name">
                </v-select>

这是我的计算财产

 computed: {
        id() {
          this.items.forEach(element => {
            if (element.name == this.item_name) {
              return (this.item = element.id);
            }
          });
        }

  }

我希望计算{{item}}的计算属性出了什么问题,但不能打印所选项目的ID。

任何帮助 在此先感谢!

1 个答案:

答案 0 :(得分:1)

您可能希望改用find()

computed: {
        id() {
          return this.items.find(element => {
            return element.name == this.item.name
          }).id;
        }

  }

这将首先在数组中找到与函数中条件匹配的元素,然后是该元素的ID