这是一个Angular Material DragDrop问题,当将行拖到其他行上时,对于具有可展开子行的行,该子行将失去展开的状态。解决此问题的方法是将dragContainerData传递给drop方法,并更新拖动和放置之后的行数据。下面是示例代码:
HTML模板:
Name
Age
Actions
{{row.name}}
{{row.age}}
Hello {{row.name}}!
TS文件:
import { Component } from '@angular/core';
import { CdkDragDrop, CdkDragRelease, moveItemInArray } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-dragdrop-table',
templateUrl: './dragdrop-table.component.html',
styleUrls: ['./dragdrop-table.component.css'],
})
export class DragdropTableComponent {
rows = [
{ name: 'Alice', age: 20, expanded: false },
{ name: 'Bob', age: 20, expanded: false },
{ name: 'Carol', age: 20, expanded: false },
];
onDrop(event: CdkDragDrop) {