繁体   English   中英

使用 VuejS 在 v-model 中传递一个对象

[英]Pass an object in v-model with VuejS

我在 vue 多选中遇到了 v-model 的问题。 Multiselect 需要将一个对象传递给 v-model 以具有初始选定值,以便它可以将该对象与选项 Object 匹配。 这是我的代码示例:

<b-tr v-for="(income, index) in this.incomes" :key="income.id">
     <b-td>
          <multiselect
            :options="selectAccount"
            v-model="{id:income.account_id,account:income.accounts.account}"
            label="account"
            track-by="id"
          ></multiselect>
        </b-td>
</b-tr>

Vue 不接受以这种方式将对象传递给 v-model,我想不出另一种方法来做到这一点。

这是收入对象:

incomes: Array
  0: Object
    account_id:
    accounts: Object
      account: 
      id:
    amount:
    id:
    date:

选项:

options: Array[3]
  0: Object
    account:
    id:

您可以使 v-model 与您通过主数组的索引传递每个元素的数组相关,例如:

v-model="selected_options[index]"

并将 selected_value 设置为数组:

selected_options: []

不能使用具有多个值的v-model

“组件 v-model 是为单值输入组件而设计的,这些组件处理原生输入元素的类似用例。

对于管理多个值同步的复杂组件,显式的 prop/event 对是合适的解决方案。 在这种特殊情况下,我认为保存的击键不值得增加额外语法的复杂性。”

附注。 在 20 年第一季度末,Vue v3 将支持使用v-model多个值,其语法类似于v-model:id="income.account_id"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM