参考 Angular CDK 拖放,我尝试创建一个带有左侧边栏和主要内容区域的简单仪表板。这两个区域都将包含独特的自定义组件,这些组件需要可拖动,并且可以在其包含的区域内重新排序并转移到另一个区域。
例如。侧边栏包含Comp和Comp1,然后我可以在该区域内重新排序它们并将它们转移到主要内容区域。
据我了解,Angular Material CDK 拖放仅适用于列表。此外,列表中的项目必须具有相似的类型才能重新排序/转移。
有没有办法利用CDKDragandCDKDropList来处理静态项而不是数组中的项?我无法重新排序自定义组件或将其转移到不同的下拉列表。
我创建了一个示例项目:https://stackblitz.com/edit/ng-mat-dnd 演示:https://ng-mat-dnd.stackblitz.io/
应用程序组件.html
<div class="example-container">
<h2>Sidebar</h2>
<div cdkDropList #sidebarList="cdkDropList" [cdkDropListData]="sidebar" cdkDropListConnectedTo="[mainList]"
class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" cdkDrag>
<app-demo-comp-2 [btn]=2></app-demo-comp-2>
</div>
<div class="example-box" cdkDrag>
<app-demo-comp [ddn]=2></app-demo-comp>
</div>
<div class="example-box" cdkDrag>
<app-demo-comp-3 [txt]=3></app-demo-comp-3>
</div>
</div>
</div>
<div class="example-container">
<h2>Main</h2>
<div cdkDropList #mainList="cdkDropList" [cdkDropListData]="main" cdkDropListConnectedTo="[sidebarList]"
class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" cdkDrag>
<app-demo-comp [ddn]=1></app-demo-comp>
</div>
<div class="example-box" cdkDrag>
<app-demo-comp-2 [btn]=3></app-demo-comp-2>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
应用程序组件.ts
import { …Run Code Online (Sandbox Code Playgroud) 在两者之间的JAVA中哪个更快并且花费更少的时间(以纳秒为单位)?
get() 要么 elementAt()
我正在使用它们来返回存储在对象中的元素.速度至关重要,因此我想知道哪两个更可行,更快.
public E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return get(len - 1);
}
Run Code Online (Sandbox Code Playgroud)
要么
public E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
Run Code Online (Sandbox Code Playgroud)