@kentos

Как сделать чтобы при клике на элемент он скрывался?

Здравствуйте, есть список элементов, суть в том, чтобы при клике на него, появлялись кнопки, я это сделал, у меня теперь у каждого появляется, но проблема в том, что когда нажимаю на элемент, появляются кнопки, когда снова нажимаю, не исчезает

<template>

  <div class="row scroll-comments">
    <div class="list list-row block">
      <div
           class="list-item"
           v-for="(comment, indexComment) in commentsList"
           :key="comment.id"
           :class="{'list-item-checked': buttonIndexVisible === indexComment}"
           @click="showHiddenActionBtn(indexComment)"
           >
        <transition name="fade">
        <actionBtn
            v-if="buttonIndexVisible === indexComment"
            :idComment="comment.id"
            />
            </transition>
        <div>
          <span class="w-48 avatar gd-success">
            <img :src="profile.userImg" :alt="profile.firstName[0] + '.' +profile.lastName[0]" />
          </span>
        </div>
        <div class="flex item-author text-color">
          {{profile.firstName + ' ' + profile.lastName}}
          <div class="item-except text-muted text-sm h-1x">{{comment.text}}</div>
        </div>
      </div>
    </div>
  </div>
</template>


import actionBtn from '@/components/actionBtn.vue';
import { db } from '../main';

export default {
  name: 'commentList',
  components: { actionBtn },
  data() {
    return {
      commentsList: [],
      buttonIndexVisible: '',
      profile: {
        firstName: 'Pavel',
        lastName: 'Ivanov',
        userImg: 'https://img.icons8.com/color/48/000000/guest-male.png',
      },
    };
  },
  methods: {
    showHiddenActionBtn(indexComment) {
      this.buttonIndexVisible = indexComment;
    },
  },
  firestore() {
    return {
      commentsList: db.collection('comments').orderBy('createdAt'),
    };
  },
};
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
showHiddenActionBtn(indexComment) {
  this.buttonIndexVisible = this.buttonIndexVisible === indexComment ? '' : indexComment;
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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