首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 6 7 8-拖放+虚拟滚动+可观察

Angular 6 7 8-拖放+虚拟滚动+可观察
EN

Stack Overflow用户
提问于 2019-07-16 14:21:56
回答 1查看 1.1K关注 0票数 1

我需要有拖拽与虚拟滚动工作。我的VS的数据源是可观察的。我试过这段代码,但它不工作,VS列表没有变化,只有动画:

代码语言:javascript
复制
<ng-container *ngIf="observableData | async as items">
<cdk-virtual-scroll-viewport
    cdkDropList 
    #virtualScroller
    (cdkDropListDropped)="drop($event)">
    <mat-list>
        <mat-list-item 
            cdkDrag     
            *cdkVirtualFor="let item of items; let i = index; trackBy: trackByIdx">
            <h4 matLine cdkDragHandle>
                List item Title
            </h4>
            <p matLine cdkDragHandle>
                List item text
            </p>                
        </mat-list-item>
    </mat-list>
</cdk-virtual-scroll-viewport>

下面是我的ts处理程序:

代码语言:javascript
复制
drop(event: CdkDragDrop<any[]>) {
     const vsStartIndex = this.virtualScroller.getRenderedRange().start;
     moveItemInArray( this.observableData.value, event.previousIndex + 
     vsStartIndex, event.currentIndex + vsStartIndex);
} 

如何使用可观察列表实现d&d?

EN

回答 1

Stack Overflow用户

发布于 2019-10-22 21:51:47

您必须将数据传递给list [cdkDropListData]="items"

代码语言:javascript
复制
<cdk-virtual-scroll-viewport
cdkDropList
[cdkDropListData]="items"
#virtualScroller
(cdkDropListDropped)="drop($event)">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57051139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档