【发布时间】:2016-02-07 20:54:16
【问题描述】:
我在表格中显示用户列表,每一行都有一个复选框来选择用户,复选框值是用户的 ID。选定的 ID 依次显示在表格下方的跨度中。
如何在单击表格标题中的“全选”复选框时选择所有复选框并取消选择所有复选框?我是与 DOM 交互还是通过 vue 对象进行交互,我认为应该是后者,但不确定如何处理看似简单的任务?!任何帮助将不胜感激!
HTML
<div id="app">
<h4>Users</h4>
<div>
<table>
<tr>
<th>Name</th>
<th>Select <input type="checkbox" @click="selectAll"></th>
</tr>
<tr v-for="user in users">
<td>{{ user.name }}</td>
<td><input type="checkbox" v-model="selected" value="{{ user.id }}"></td>
</tr>
</table>
</div>
<span>Selected Ids: {{ selected| json }}</span>
</div>
Javascript/Vuejs
new Vue({
el: '#app',
data: {
users: [
{ "id": "1", "name": "Shad Jast", "email": "pfeffer.matt@yahoo.com",
{ "id": "2", "name": "Duane Metz", "email": "mohammad.ferry@yahoo.com"},
{ "id": "3", "name": "Myah Kris", "email": "evolkman@hotmail.com"},
{ "id": "4", "name": "Dr. Kamron Wunsch", "email": "lenora95@leannon.com"},
{ "id": "5", "name": "Brendon Rogahn", "email": "verlie.buckridge@yahoo.com"}
],
selected: []
},
methods: {
selectAll: function() {
// ?
}
}
})
【问题讨论】:
标签: javascript checkbox