Vlad024
@Vlad024

Как в Vue сделать toggle класса, но с по умолчанию раскрытыми списками?

Привет. Вот сделал пример.
https://jsfiddle.net/tcv64y9k/
Не пойму как сделать чтобы списки по умолчанию были раскрыты, а по клику уже скрывались.
  • Вопрос задан
  • 386 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Складываете данные блоков в массив, каждому элементу массива добавляете свойство, которое будет отвечать за показ контента:

data: () => ({
  items: [
    { show: true, ... },
    { show: true, ... },
    ...
  ],
}),

<template v-for="(n, i) in items">
  <button @click="n.show = !n.show">{{ n.show ? 'hide' : 'open' }}</button>
  <div class="list" v-show="n.show">
    ...
  </div>
  <hr v-if="i !== items.length - 1">
</template>

https://jsfiddle.net/ra5byco9/

UPD. Вынесено из комментариев:

С v-for я знаю как, а без него никак?

Дело не в v-for, а в том, что состояние каждого скрываемого-показываемого элемента должно управляться отдельным свойством. Можно его, свойство, сделать частью компонента, отвечающего за демонстрацию пары кнопка-контент. Дальше можете создавать столько экземпляров, сколько потребуется.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
svistiboshka
@svistiboshka
живые веб интерфейсы
Вы не туда смотрите и пытаетесь работать с домом ну если так то вот вам
https://jsfiddle.net/za3o5j9m/1/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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