Я пытаюсь создать список опций с помощью v-for
, где вы можете выбрать только один вариант за один раз. Он отлично работает, но я не могу отменить выбор.
<div id="main">
<ul>
<li
v-for="l in list"
id="l.key"
@click="selectone(l.key, l.isSelected)"
v-bind:class="{ selected : l.isSelected, notselected : !l.isSelected }"
> {{ l.tec }} </li>
<ul>
</div>
JS
new Vue({
el:"#main",
data: {
list: [
{key:"0", tec:"html", isSelected:false},
{key:"1", tec:"css", isSelected:false},
{key:"2", tec:"JS", isSelected:false},
{key:"3", tec:"Git", isSelected:false},
{key:"4", tec:"NodeJS", isSelected:false},
{key:"5", tec:"Postgres", isSelected:false}
]
},
methods: {
selectone: function(k, o) {
for( i = 0; i < this.list.length; i ++ ) {
if(this.list[i].isSelected == true ) {
this.list[i].isSelected = false
}
}
this.list[k].isSelected = !this.list[k].isSelected;
}
}
})
CSS
.selected {
background:lightpink;
}
.notselected {
background:lightblue;
}
Не должен ли мой цикл деактивировать все параметры каждый раз, когда я щелкаю элемент?