Получить имя из нажатой аккордеона

#angular #typescript

Вопрос:

Здравствуйте, я получил простой аккордеон на основе api «имена»

 <div *ngFor="let item of showDirNames | async | filter: name; let i = index;">
   <button class="accordion" (click)="toggleAccordian($event, i)"> {{item.name}} </button>
   <div class="panel" *ngFor="let child of fileUploads | async | filter: name" hide="!item.isActive">
      <p *ngFor="let child of fileNames| async | filter: name"> {{child.name}} </p>
   </div>
</div>
 

это выглядит так:

DirName_1

  • имя файла
  • имя файла

DirName_2

  • имя файла
  • имя файла

Когда я нажимаю на DirName_1, я получаю список имен файлов в этом каталоге. Как я могу получить имя (например, DirName_1) от пользователя? Я хочу знать, какой пользователь аккордеона нажал. К именам файлов сервера для него.

Ответ №1:

Вам нужно будет передать item.name toggleAccordian кому (кстати: вы написали неправильно toggleAccordion ):

 <div *ngFor="let item of showDirNames | async | filter: name; let i = index;">
   <button class="accordion" (click)="toggleAccordian($event, i, item.name)"> {{item.name}} </button>
   <div class="panel" *ngFor="let child of fileUploads | async | filter: name" hide="!item.isActive">
      <p *ngFor="let child of fileNames| async | filter: name"> {{child.name}} </p>
   </div>
</div>
 

toggleAccordian не исправлено в этом примере, вам придется изменять каждое вхождение самостоятельно (если вы хотите).