javascript - 在Vue中,使用select在对象数组中选择一个对象

标签 javascript vue.js vuejs2 vue-component

我有一个带有选项的选择元素,它循环遍历对象数组(服务)。

<select placeholder="Vælg ydelse">
    <option v-for="service in services" :key="service.id">
        {{service.name}}
    </option>
</select>

在我的数据对象中,我有

chosenService: {
    id: 42,
    name: "some service",
    group: {
        id: 2,
        name: "some group within the service",
    },
    additions: [],
    classSignupMoreActive: false,
},

我希望在选择更改后检索它。

最后,我从父级发送 services 数组,因为所有这些都发生在组件中。我不确定这是否是最正确的方法。

像这样:

<Modal
  :show="showModal"
  @close="showModal = false"
  title="Modal Title"
  :services="this.services"
>
</Modal>

最佳答案

您可以使用v-model并将对象传递给选项的:value属性:

new Vue({
  el: "#demo",
  data() {
    return {
      services: [{id: 42, name: "some service", group: {id: 2, name: "some group within the service",}, additions: [], classSignupMoreActive: false,}, {id: 43, name: "some other service", group: {id: 2, name: "some group within the service",}, additions: [], classSignupMoreActive: false,}],
      chosenService: {},
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="demo">
  <select v-model="chosenService" placeholder="Vælg ydelse">
    <option v-for="service in services" :key="service.id" :value="service">
        {{service.name}}
    </option>
  </select>
  chosenService = {{ chosenService }}
</div>

关于javascript - 在Vue中,使用select在对象数组中选择一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72530961/

相关文章:

javascript - 有没有办法在 gulp.js 任务运行器中自定义 git 提交消息

javascript - Vue JS无法将方法返回的数据显示到DOM

jquery - 过渡组交错不起作用(Vue 2)

javascript - Vue.js : Property or method is not defined on the instance but referenced during render

javascript - 如何在 angularJS 中干燥跨 Controller 的 $scope 操作代码

javascript - 使用 Gulp 缩小(而非转译)ES2015 代码

javascript - 如何使用复选框切换面板的可见性?

vue.js - Nuxt.js - 在页面中添加两个布局

javascript - 如何在 Vuetify 中针对不同屏幕尺寸使用断点?

vue.js - 如何同步观察 vuex 中的状态变化?