Зона сброса Angular7: событие нажатия не вызывается - PullRequest
0 голосов
/ 05 октября 2018

После прочтения этого сообщения в блоге об угловом материале 7 новых функций, касающихся взаимодействий перетаскивания, я решил поиграть с примером кода.

Он работает вокруг трех списков с событиями перетаскиванияперемещение элементов между тремя списками.Это прекрасно работает, проблема возникает при попытке изменить первые списки так, чтобы его элементы стали кнопками:

<div *ngFor="let item of newItems" [cdkDragData]="item" cdkDrag>
<button (click)="clicked($event)"> {{ item }}</button>
</div>

Проблема в том, что событие click, кажется, не запускается, как если бы события перетаскивания"перезаписал их".

Вот код:

https://stackblitz.com/edit/mat-drag-drop-bwkdcy

РЕДАКТИРОВАТЬ: нашел обходной путь с прослушивателем событий, не важная персона.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

(mousedown)="clicked($event)" выполняет свою работу.

0 голосов
/ 05 октября 2018

Попробуйте использовать функцию $ event.stopPropagation (), чтобы вызвать только это событие

<div *ngFor="let item of newItems" [cdkDragData]="item" cdkDrag>
     <button (click)="$event.stopPropagation();clicked($event)"> {{ item }}</button>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...