我错误地在stackblitz(某种代码窗格)中处理了一个比10岁更老的角形版本。
在这里我发现移动了函数输入github。但它没有帮助我的情况。在基于网格的拖放,有能力在不同的可拖动容器之间拖动。从angular dragdrop grid派生。唯一的错误,当我升级到最新版本(12.1.2)是在这里
this.placeholder.enter(
drag,
drag.element.nativeElement.offsetLeft,
drag.element.nativeElement.offsetTop
);
错误:Property 'enter' does not exist on type 'CdkDropList<any>'
我找到的唯一参考是stack-overflow的这个页面。当我尝试这个解决方案时,行为是混乱的,控制台记录了这个错误ncaught RangeError: Maximum call stack size exceeded
。
当前为this is the state。
我希望将此功能转移到最新的CDK版本,而不会丢失此功能。
当我在版本i之间来回切换时,注意到cdkDropListEnterPredicate
的行为不像它的使用那样工作。
在v9中,cdkDropListEnterPredicate
针对每个像素调用函数,但对于v12,行为发生了变化。
要查看运行中的错误,请转到package.json
并将从"@angular/cdk": "9.1.2"
更改为:"@angular/cdk": "12.1.2"
我尝试过使用dragRef
和dropListRef
,但是失败了。
1条答案
按热度按时间a0zr77ik1#
请点击查看示例...... [此处](https://stackblitz.com/edit/angular-cdk-drag-drop-sortable-flex-wrap-if3hjb?file=src/app/app.component.html)
现在有了新的版本,我们可以用一个方法(cdkDragEntered)替换所有以前的方法,它会处理所有的事情。