【发布时间】:2019-03-22 14:51:45
【问题描述】:
我创建了一个小提琴来解释我想要什么:https://jsfiddle.net/silentway/aro5kq7u/3/
独立代码如下:
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="mainApp" class="container-fluid">
<p>This is my main list.</p>
<div class="main-list" v-for="(q, index) in questions">
<input type="checkbox"
v-bind:id="'question-' + index"
v-bind:value="{id: index, property: false}"
v-model="answers">
<label v-bind:for="q">{{q}}</label>
</div>
<p>And this is the list of the selected elements in the previous list.</p>
<ul class="selected-list" v-for="(a, index) in answers" :key="a.id">
<li>{{questions[a.id]}} <input type="checkbox"
v-bind:id="'answer-' + index"
v-bind:value="true"
v-model="a.property">
</li>
</ul>
<p>Here's the answer's array for debugging: {{answers}}</p>
</div>
<script>
var mainApp = new Vue({
el: '#mainApp',
data: {
questions: [
"Who are you ?",
"Who, who?",
"You know my name?",
"Look up my number"
],
answers: []
}
});
</script>
我想显示第一个问题列表,每个问题都有一个复选框。选定的问题存储在称为“答案”的数组中。 然后我从这些选定的答案中列出另一个列表。每个项目都有一个新的对应复选框,用于某个属性(可以是真或假)。我希望将此关联属性存储在与第一个列表中的输入结果相同的数组(“答案”)中。
我的代码发生的情况是,选中第二个列表中的一个框确实会更改共享数据数组(“答案”),但这样做也会取消选中第一个列表中的相应答案。
任何帮助将不胜感激。
【问题讨论】:
-
我猜你没有将复选框的值存储在你的第一个数组列表中。如果您将复选框值存储在数组中,那么它肯定会显示。
-
这个问题有点难以理解。您基本上是希望他们在第一个问题旁边检查另一堆问题吗?
-
@varit05 你能说得具体一点吗?
标签: javascript vue.js vuejs2 v-model