要使Angular拖放的DropList在设置为display:none时仍能接收物品,可以使用CSS的visibility属性来替代display属性。visibility属性可以将元素隐藏,但仍会保留元素的布局空间。
在DropList的CSS样式中,将display属性改为visibility属性,然后设置为hidden。这样,即使元素不可见,仍然可以接收物品。
以下是一个示例代码:
HTML:
{{item}}
CSS:
.drop-list {
width: 200px;
height: 200px;
border: 1px solid black;
visibility: hidden; /* 将display属性改为visibility,并设置为hidden */
}
TypeScript:
import { Component } from '@angular/core';
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
items = ['Item 1', 'Item 2', 'Item 3'];
onDrop(event: CdkDragDrop) {
moveItemInArray(this.items, event.previousIndex, event.currentIndex);
}
}
在上面的示例中,当.drop-list的visibility属性设置为hidden时,元素仍然可以接收物品。请根据您的实际需求调整CSS样式和其他相关逻辑。