如何传递对象数组以在 Vue 2.0 中选择选项

vir*_*l98 3 javascript select vue.js vuejs2

我有一个我想从对象数组中填充的选择,例如

[{"id": 1, "name": "Some name"},
 ... 
{"id": 5, "name": "Another name"}]
Run Code Online (Sandbox Code Playgroud)

它存储在Vue 的 data 属性中的项目

var app = new Vue({
el: "#app",
data: {
    items: [],
....

    }
})
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用v-forv-model那样做:

  <select id="categories" v-model="items">
      <option v-for="item in items" :value="item.id">{{ item.name }}</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

它不起作用,但是如果我用 int Array 尝试相同的代码,一切都很好。无法绕过它。

Ber*_*ert 7

v-model 在选择上是针对选定的值。

<select id="categories" v-model="selectedValue">
  <option v-for="item in items" :value="item.id">{{ item.name }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

添加selectedValue到您的数据中。

var app = new Vue({
  el: "#app",
  data: {
    items: [],
    selectedValue: null

  }
})
Run Code Online (Sandbox Code Playgroud)

<select id="categories" v-model="selectedValue">
  <option v-for="item in items" :value="item.id">{{ item.name }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
var app = new Vue({
  el: "#app",
  data: {
    items: [],
    selectedValue: null

  }
})
Run Code Online (Sandbox Code Playgroud)