【发布时间】:2019-11-21 00:15:18
【问题描述】:
我有一个表格,每行都有一个选择框。我希望复选框在数据中建模一个实际上并不存在的值。
<tr v-for="item in someData">
<input type="checkbox" v-model="item.selected"></td>
<input type="checkbox" v-model="item.name"></td>
<tr>
从数据库加载时我的数据如下所示:
someData: [
{'name': 'john'},
{'name': 'kate'},
{'name': 'aaron'},
]
当用户按下Select All 按钮时,它应该更新selected 键,即使它不存在(这就是想法)
toggleSelect: function () {
this.someData.forEach(element => {
element.selected = !element.selected;
});
}
但是,即使值已更新,复选框也不会做出反应。为了完成这项工作,我需要先获取数据并手动添加键/值,然后再将其加载到视图和渲染中
getDatabaseData: function () {
// some code omitted
response['data'].forEach(element => {
element["selected"] = false;
});
app.someData = response['data']
}
我做得对吗?我是否认为 Vue 不会对渲染之前不存在的值做出反应?
【问题讨论】:
-
使用
:checked="item.selected"和@click="toggleSelected(item)"
标签: vue.js