当页面首次加载时,VueJS 没有在 v-for 循环中的项目上设置类,我遇到了一个奇怪的问题。It works after I click on it to toggle the selected attribute on and off, but when selected is initially true, the row is not highlighted. 因此,只需单击 2 次即可将屏幕“同步”到数据。
<tbody>
<tr v-for="v in listOfItems" :key="v.id" :class="{ selected: v.selected }" v-on:click="function(){ itemSelected(v) }">
<td style="text-align:right"><span v-text="v.selected"></span></td>
<td style="text-align:right"><span v-text="v.label"></span></td>
</tr>
</tbody>
function itemSelected(row) {
row.selected = !row.selected
app.$nextTick(function() {
console.log( $('tr.selected').length )
})
return false
}
该数组最初在屏幕显示之前加载:
app.listOfItems = [{
id: 100,
label: 'Item 100',
selected: true
}]
所有其他数据都正确显示,甚至选择在表格单元格中显示为真。在我单击两次(一次取消选择,再次重新选择)之前,最初不会应用“选定”类。