Список повторных заказов ng2-dragula не удалось получить - PullRequest
0 голосов
/ 22 января 2019

Я использую пакет ng2-dragula для перетаскивания объектов, но после изменения порядка элементов списка не могу получить обновленные значения списка массивов. Вот код, что я сделал.

HTML

      <ul [dragula]='"bag-items"' [dragulaModel]="contactArray">
                  <li *ngFor="let field of contactArray" >
                    <label>{{field.role}}</label>
                 </li>
      </ul>

JS

import { DragulaService   } from "ng2-dragula";

@Component({
  selector: 'app-edit-project',
  templateUrl: './edit-project.component.html',
  styleUrls: ['./edit-project.component.css'],
  providers: [    
      DragulaService
  ]
})

export class ProjectComponent implements OnInit {

constructor(private dragula:DragulaService) {
console.log(this.contactArray)
}

}

когда я пытаюсь утешить contactArray после переупорядочения списка. Я все еще получаю заказ по умолчанию.

Default order looks like this

A
B
C
D

Once I reorder looks like

D
C
A
B

затем попытался console.log(this.contactArray), я все еще получаю значения заказа по умолчанию. ожидая новые значения переупорядочения.

Может любой совет эксперта, пожалуйста.

1 Ответ

0 голосов
/ 22 января 2019

Вам необходимо использовать двустороннее связывание, например: [(dragulaModel)]="contactArray".Вот официальные комментарии от ng2-dragula doc :

ПРИМЕЧАНИЕ: v2 изменяет поведение [dragulaModel].Он больше не мутирует массивы, которые вы ему даете, но будет мелко клонировать их и даст вам результаты.Используйте двустороннюю привязку с [(dragulaModel)] = "..." или используйте DragulaService dropModel и события removeModel для сохранения созданных новых моделей.

...