小编Zee*_*qui的帖子

使用 Angular Material CDK 拖放自定义静态组件

参考 Angular CDK 拖放,我尝试创建一个带有左侧边栏和主要内容区域的简单仪表板。这两个区域都将包含独特的自定义组件,这些组件需要可拖动,并且可以在其包含的区域内重新排序并转移到另一个区域。

例如。侧边栏包含CompComp1,然后我可以在该区域内重新排序它们并将它们转移到主要内容区域。

据我了解,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)

drag-and-drop typescript angular-material angular

4
推荐指数
1
解决办法
1万
查看次数

Java中的get()或elementAt()

在两者之间的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)

java

-2
推荐指数
1
解决办法
1万
查看次数