【发布时间】:2019-05-25 01:26:30
【问题描述】:
我正在尝试在 Angular 7 中添加一个表格,其中一列包含一个列表,我希望允许用户将这些列表项中的任何一个拖放到不同的行中。
我一直在尝试使用 CdkDragDrop,并将其放在一个表格中,但它似乎不起作用。
请在下面找到代码:
<table
mat-table
[dataSource]="general"
style="width:100%; margin-top: 10px; margin-bottom: 50px"
*ngIf="general.data.length !== 0">
<ng-container matColumnDef="Camera_Physical_Index">
<th mat-header-cell *matHeaderCellDef>Camera Physical Index</th>
<td mat-cell *matCellDef="let element">
{{ element.Camera_Physical_Index }}
</td>
</ng-container>
<ng-container matColumnDef="Analytical_Function">
<th mat-header-cell *matHeaderCellDef>Analytical Function</th>
<td mat-cell *matCellDef="let element">
<div
cdkDropList
[cdkDropListData]="general.data"
(cdkDropListDropped)="dropGroup($event)"
>
<div
cdkDropListGroup
class="example-container"
cdkDrag
[cdkDragData]="element"
>
<div
cdkDropList
class="example-list"
id="{{ element.Camera_Physical_Index }}"
[cdkDropListData]="element.Analytical_Function"
(cdkDropListDropped)="dropItem($event)"
[cdkDropListConnectedTo]="getConnectedList()"
>
<div
class="example-box"
*ngFor="let item of element.Analytical_Function"
cdkDrag
[cdkDragData]="item"
>
{{ item }}
</div>
</div>
</div>
</div>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="generalColumns"></tr>
<tr mat-row *matRowDef="let row; columns: generalColumns"></tr>
</table>
期望的结果如下:
【问题讨论】:
标签: html angular typescript angular7