要实现Angular Material拖放多个元素,可以使用Angular CDK中的DragDrop模块。以下是一个示例代码,演示了如何使用Angular Material实现拖放多个元素:
npm install @angular/material @angular/cdk
import { DragDropModule } from '@angular/cdk/drag-drop';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
BrowserAnimationsModule,
DragDropModule
],
// ...
})
export class AppModule { }
{{item}}
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
export class AppComponent {
items = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
drop(event: CdkDragDrop) {
moveItemInArray(this.items, event.previousIndex, event.currentIndex);
}
}
在上面的示例中,我们使用了一个简单的数组来表示要拖放的元素,通过ngFor指令将每个元素渲染为一个可拖动的div。当元素被拖放到新的位置时,会触发drop()方法,我们使用Angular CDK中的moveItemInArray()方法来更新元素的位置。
请注意,要使拖放功能正常工作,还需要在CSS中为容器和拖放元素添加样式。你可以根据需要自定义样式。
希望这个示例可以帮助你实现Angular Material拖放多个元素。