Это неправильный подход. Сделайте свойство showDocs, которое будет отвечать за видимость элемента, а на сам элемент добавьте
v-show="showDocs"
. Обработка клика станет выглядеть так:
@click="showDocs = !showDocs"
.
Ну а почему ваш код не работает как надо - так это потому, что дефолтное значение
style.display
вовсе не none, а пустая строка (скорее всего - вы ведь элемент через css изначально скрываете, да?).
UPD. Вынесено из комментариев:
Так не получиться, так как вывожу элементы в цикле v-for.
Получится. Задайте каждому из перебираемых объектов отдельное свойство, отвечающее за его видимость, как-то
так. Или
сделайте компонент для отображения отдельного элемента, который будет содержать в себе свойство, управляющее видимостью.