【发布时间】:2019-12-16 07:55:33
【问题描述】:
假设我有这种对象
{
[
{id:1, name:'name1'},
{id:2, name:'name2'}
]
}
让我们为这个对象数组调用变量names。我想将整个对象本身用作 v-model 值
如何在 v-for 循环中直接使用对象作为 v-model 的值? 我试过这样的事情
我试过这样的
<div v-for="name in names">
<input v-model="name">
</div>
但它会在输入字段中输出类似 [object Object] 的内容。
当用户使用特定对象编辑特定输入字段时,我想动态更改该对象的值。
编辑:
我尝试使用这种方法 https://simonkollross.de/posts/vuejs-using-v-model-with-objects-for-custom-components
但是,当我在输入字段中输入内容时,它只会复制输入字段的原始值
【问题讨论】:
-
你试过
v-model="name.name"吗? -
我的意思是我想将对象本身用作 v-model 值,而不仅仅是对象内部的名称。
-
@YvesGonzaga 这是不可能的。
-
@YvesGonzaga 在 jsfiddle 中,他没有将 obj 更新为 v-model,他只是使用 v-model 指令将对象共享给子组件,但在子组件内部,他使用的是
obj.value。但问题是,你只更新对象内部的name属性吗?这真的很简单:jsfiddle.net/7wcvot3m -
@The.Bear 你的权利,我才意识到。我一直这样使用它。我多虑了。我认为这是因为过去几天的工作压力很大。非常感谢。