angular - 无法在以前隐藏的 cdkDropList 中删除元素
问题描述
当我开始拖动元素时,我会显示放置的目标容器并更改原始容器的大小以将位置留给放置区域。
发生的情况是,正在考虑的原始容器的大小是拖动开始时的大小。
当我放下我的元素时,他被放在原始容器中。
<div cdkDropListGroup>
<div class="list-container" [ngClass]="{ 'on-drag': dragStartEtat }" id="baseList" cdkDropList
[cdkDropListData]="list1" #baseList="cdkDropList" (cdkDropListDropped)="drop($event)">
<div class="line" (cdkDragStarted)="dragStart($event)" (cdkDragEnded)="dragEnd($event)" cdkDrag
*ngFor="let e of list1">{{ e }}</div>
</div>
<div [hidden]="!dragStartEtat" #archive="cdkDropList" cdkDropList class="cdk-archive"
(cdkDropListDropped)="dropArchive($event)">
Glissez déposez pour archiver
</div>
</div>
.list-container {
min-height: calc(100vh - 325px);
max-height: calc(100vh - 325px);
overflow: auto;
}
.dessus {
background-color: orange;
min-height: 300px;
max-height: 300px;
}
.cdk-archive {
color: white;
transition: 0.5s;
text-align: center;
height: 15vh;
background-color: rgba(74, 74, 74, 0.8);
.cdk-drag-placeholder {
display: none !important;
}
}
.on-drag {
min-height: calc(100vh - (325px + 15vh))!important;
max-height: calc(100vh - (325px + 15vh))!important;
overflow: auto;
}
drop(event) {
console.log('drop');
}
dropArchive(event) {
console.log('dropArchive');
}
dragStart(event: CdkDragStart) {
this.dragStartEtat = true;
}
dragEnd(event) {
this.dragStartEtat = false;
}
如果从一开始就显示目标容器,则没有问题。
预期的是 dropArchive 在“归档”区域中被触发时被触发。然而,“baseList”的下降仍然是被触发的。
有什么我做错了或解决此行为的解决方案吗?
解决方案
推荐阅读
- java - Java 8 - 尝试使用文本时区 ID 解析时间戳
- associations - 续集关联
- c - 提取子数组
- c++ - 在 MyClass 指针的容器中找到一个 void 指针?
- kotlin - Kotlin:将双精度转换为整数时出现 ClassCastException?
- java - lambda 之外的布尔开关
- c++ - 复制构造函数首先复制指针,然后取消引用它以获得“深度”副本
- g++ - 在 MacOS Mojave 10.14.2 上使用 levmar 库会导致编译错误
- java - 如何在选择文本时使用我的自定义标签“突出显示”覆盖“复制”标签到菜单选项
- node.js - 简单的 graphql 模式抛出语法错误,也无法从日志中跟踪问题行