【问题标题】:Vue - Bind value of object to a checkbox valueVue - 将对象的值绑定到复选框值
【发布时间】:2017-10-26 11:33:36
【问题描述】:

我想将每个项目的值放入数组selectedParks。问题是,该值始终设置为字符串“item”,而不是实际项目的值(它是一个公园对象)。

代码:

<ul class="list-group no-bullets">
    <li class="list-group-item" v-for="item in parks">
        <label><input type="checkbox" value="item" v-model="selectedParks"/> {{item.name}}</label>
    </li>
</ul>
<span>Checked: {{selectedParks}}</span>

我知道实际的item 绑定正确,因为{{item.name}} 显示了正确的值。

Docs(多个复选框绑定到同一个数组):https://vuejs.org/v2/guide/forms.html

【问题讨论】:

  • 你能描述一下Park Object的数据结构吗?

标签: javascript vue.js


【解决方案1】:

那因为value被评估为一个字符串,你需要使用v-bind将它设置为一个对象:

<input type="checkbox" v-bind:value="item" v-model="selectedParks"/>

或冒号简写:

<input type="checkbox" :value="item" v-model="selectedParks"/>

【讨论】:

  • 如果你仔细观察,item 是一个对象。我认为您需要类似::value="item.selected"
  • @Alfa,看起来他想将整个对象绑定到我身上,这很好:jsfiddle.net/7hxL3tcs
  • @alfa 既然可以绑定整个对象,为什么还要绑定一个对象的属性?
  • @Bert park 对象具有 name 属性。如果你绑定整个对象,我认为它不会起作用。
  • 啊,我明白了,我们有不同的方法。这是我的jsfiddle.net/ob0ohfL6
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-07
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多