@zcreat

Как добавить выплывающие блоки элементам списка?

Хочу отображать выплывающий блок (div) по клику в списке с помощью vue.

Имеется простой список ul>li *3
Один Два Три

Если нажимаем на Один isShow div1, если нажимаем Два, то отображается блок 2.
сейчас у меня проблема в том, что при нажатии скрываются или отображаются все три блока одновременно.

Код сейчас такой, по умолчанию все скрыты:

<ul class="list">
  <li><div v-on:click="isShow = !isShow">Один</div><div v-show="isShow" class="block"> 1 block/div></li>
  <li><div v-on:click="isShow = !isShow">Два</div><div v-show="isShow" class="block"> 2 block </div></li>
  <li><div v-on:click="isShow = !isShow">Три</div><div v-show="isShow" class="block"> 3 block</div></li>
</ul>

new Vue({
    el: '#app',
    data: {
      isShow: false
    }
  })
  • Вопрос задан
  • 684 просмотра
Решения вопроса 2
delphinpro
@delphinpro
frontend developer
Дополнение к ответу 0xD34F :
Зависимое переключение https://jsfiddle.net/ygbs1w79/1/
Ответ написан
0xD34F
@0xD34F Куратор тега Vue.js
У каждого блока должен быть свой isShow. Массив, описывающий блоки, кладёте в data, обрабатываете его с помощью v-for. Типа так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы