Angular 8拖放问题可以通过使用Angular CDK(Component Dev Kit)中的DragDrop模块来解决。下面是一些常见的拖放问题和解决方法,包含代码示例。
HTML模板:
{{item}}
组件代码:
import { Component } from '@angular/core';
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-drag-drop',
templateUrl: './drag-drop.component.html',
styleUrls: ['./drag-drop.component.css']
})
export class DragDropComponent {
items = ['Item 1', 'Item 2', 'Item 3'];
onItemDropped(event: CdkDragDrop) {
moveItemInArray(this.items, event.previousIndex, event.currentIndex);
}
}
HTML模板:
{{item}}
{{item}}
组件代码:
import { Component } from '@angular/core';
import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-drag-drop',
templateUrl: './drag-drop.component.html',
styleUrls: ['./drag-drop.component.css']
})
export class DragDropComponent {
items = ['Item 1', 'Item 2', 'Item 3'];
droppedItems1 = [];
droppedItems2 = [];
onItemDropped(event: CdkDragDrop) {
if (event.previousContainer === event.container) {
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
} else {
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
}
}
}
以上代码演示了如何在Angular 8中实现拖放功能。第一个例子是在单个容器内拖放,第二个例子是在多个容器之间拖放。在拖放事件处理函数中,使用Angular CDK提供的相应函数来处理拖放操作。在第二个例子中,使用了transferArrayItem
函数来在不同容器之间移动数据项。
希望这些示例可以帮助你解决Angular 8中的拖放问题。