问题的解决方法是在拖动事件中使用CdkDragDrop的data属性来获取数据,而不是使用CdkDropList的data属性。具体来说,代码示例如下:
HTML:
{{item}}
TypeScript:
import {Component} from '@angular/core';
import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
mediaItems = ['item1', 'item2', 'item3'];
onDrop(event: CdkDragDrop) {
moveItemInArray(this.mediaItems, event.previousIndex, event.currentIndex);
}
}