Angular: не отображается предварительный просмотр коврика перетаскивания

#angular #angular-material

#angular #angular-материал

Вопрос:

Извините за глупый вопрос.

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

             <div *ngFor="let item of items"
                 cdkDropList
                 [cdkDropListConnectedTo]="id">
              <app-child1 [params]="params" *cdkDragPreview/>
              <app-child2 [params]="params" *cdkDragPreview/>
            </div>
  

Он работает правильно без дочернего компонента

Что здесь происходит?

Заранее спасибо!

Ответ №1:

cdkDragPreview должен находиться внутри родительского элемента с директивой cdkDrag, и у вас может быть только один cdkDragPreview (вместо двух, которые у вас есть). Смотрите пример:

  <div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
  <div class="example-box" *ngFor="let movie of movies" cdkDrag>
    {{movie.title}}
    <img *cdkDragPreview [src]="movie.poster" [alt]="movie.title">
  </div>
</div>
  

Официальный пример Angular для cdkDragPreview

Комментарии:

1. Спасибо за ваш отзыв! Я только что добавил cdkDrag, и он все еще не отображается

2. Я знаю, что это немного сложно, поэтому я сделал для вас пример на основе вашего кода: stackblitz.com/edit/angular-93pedc?file=src/app /…