Dragula - Angular 5 - Обновление значения местоположения объекта путем удаления - PullRequest
0 голосов
/ 02 мая 2018

У меня есть сумка с несколькими div, где у каждого div есть список предметов, которые имеют одинаковое значение для местоположения, поэтому у div "Misc" есть предметы, у которых есть "location: misc", у div "Armor" есть предметы, которые все имеют "местоположение: броня" и т. д.

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

Я пытался это решение , но я не должен понимать его правильно.

Фрагмент кода - это просто консоли «undefined»

HTML:

    <div 
    [dragula]='"bag-equipment"'
    [dragulaModel]="equipmentBagOfHolding"
    [attr.data-id]="bag-equipment"
    >
    <mat-card 
        *ngFor="let item of equipmentBagOfHolding"  
    >
        {{ item.name }} 
    </mat-card>
</div> 

<div 
    [dragula]='"bag-equipment"' 
    [dragulaModel]="equipmentArmor"
    [attr.data-id]="bag-equipment"
>
    <mat-card 
        *ngFor="let item of equipmentArmor"  
    >
        {{ item.name }} 
    </mat-card>
</div>

TS:

dragulaService.drop.subscribe(value => {
    const [bagName, e, el] = value;
    console.log('id is:', e.dataset.id);
});

Любые указатели будут с благодарностью!

1 Ответ

0 голосов
/ 02 мая 2018

Я понял, что могу получить пункт отправления и назначения:

this.dragula.drop.subscribe(value => {
    //Bag       
    console.log(value[0]);

    // What is moved
    console.log(value[1]);

    // Destination
    console.log(value[2]);

    // Origin
    console.log(value[3]);
});

И найдите идентификатор места назначения, например, с помощью:

console.log(value[2]['id']);
...