У меня есть массив аукционов с каждым элементом, похожим на это (значительно сокращен для целей вопроса)
{
id: 1,
title: 'N782AM',
is_active: true
}
У меня есть панель кнопок, как эта
<button
v-for="(tab, idx) in auctions"
class="button tab-button"
:key="tab.id"
:class="{ active: tab.is_active}"
@click="toggleTab(idx)">
{{ tab.title }}
</button>
Метод toggleTab () это
toggleTab(idx) {
_.forEach(this.auctions, (a) => a.is_active = false);
this.auctions[idx].is_active = true;
}
++++ ++++ ОБНОВЛЕНО
Как и предполагалось, я изменил toggleTab, как показано ниже
toggleTab(idx) {
_.forEach(this.auctions, (a) => a.is_active = false);
Vue.set(this.auctions[idx].is_active, true);
}
это приводит к этой ошибке:
vue.common.js? 2371: 1037 Uncaught TypeError: Невозможно использовать оператор «in»
искать 'VN-A566' в N-782AM
++++ ++++ ОБНОВЛЕНО
Я ожидаю, что при нажатии на выбранную вкладку должен быть назначен активный класс, и он должен стать синим, а на всех остальных вкладках активный класс должен быть удален, но ничего не происходит.