javascript - cdkDragBoundary 不适用于封闭容器内的绝对拖动元素
问题描述
我有一个应该被拖到另一个 cdkDropList 容器中的列表
<div id="s._id" class="s-cell" *ngFor="let s of boys; index as i" (cdkDragEnded)="dragEnd(s,
$event)" cdkDrag>
<div class="ex-student">
<span class="stuName">{{s.name}}</span>
<span class="idef">{{s.idef}}</span>
<span class="tName">{{s.tName}}</span>
</div>
</div>
当我拖动元素时,它应该遵循 cdkDragBoundary 限制,这些学生列表单元格将位于另一个放置的容器内的绝对位置
<div class="group-container" style="flex: 1 1 80%" >
<div class="group-holder" #groupContainer>
<div *ngIf="groupArray.length > 0" cdkDropList cdkDragBoundary=".group-holder"
(cdkDropListDropped)="dropStudent($event)">
<div *ngFor="let group of groupArray">
<div *ngIf="group.student as s" class="student-cell" style="position:
absolute;" [ngStyle]="{'left': group.startX+'px', 'top': group.startY+'px'}"
(cdkDragEnded)="dragEnd(s, $event)" cdkDrag>
<mat-icon style="position: absolute; z-index: 1; font-size: 14px;font-
weight:600;left: 115px;top: 0;cursor: pointer;"
(click)="onClickClose(s)">close</mat-icon>
<div [id]="s._id" class="students" style="position: absolute;"
[ngStyle]="s.useStyle(false)">
<span class="stuName">{{s.name}}</span>
<span class="idef">{{s.idef}}</span>
<span class="tName">{{s.tName}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
当我在拖动结束后拖动男孩的 s-cell 列表时,我将它们存储在 groupArray 中,它正在创建另一个动态的学生列表。在上面的代码中,cdkDragBoundary=".group-holder"
这假设停止将动态单元格拖到容器边界之外,但它不能正常工作。我已经浏览了 cdk 文档。我想知道实现此功能的方法是横向还是使用当前代码。任何帮助都将不胜感激。
解决方案
推荐阅读
- java - 为什么生成的带有 PDF 框的 PDF 表单与多行文本框结果在云服务器上看起来不同?
- ios - 自定义 UINavigationBar 渐变背景和徽标中的图像
- three.js - aframe,TransformControls 不适用于 3D 对象
- asp.net-core - 请求正文太大 - Kestrel - 在 context.Request.Body.CopyToAsync 失败
- node.js - 即使没有人在做请求,Nodemon 也会继续记录中间件的内容
- regex - 正则表达式搜索多个字符串垃圾邮件
- javascript - 对 GraphQl 查询不区分大小写进行排序
- java - 无法绑定“spring.rabbitmq”下的属性
- rest - 为什么每当我尝试将 rest 运算符作为参数输入箭头函数时,vscode 的智能感知一直在执行代码完成?
- javascript - 点击后如何使用javascript显示菜单,再次点击空白处或按钮关闭菜单?