Angular[CDK v10+]找不到合适的";输入";拖放CDK中不推荐使用的函数



我在stackblitz(某种代码窗格(中错误地处理了一个早于10的角度版本。

在这里我找到了移动的函数进入github。但这对我的案子没有帮助。基于网格的拖放,能够在不同的可拖动容器之间拖动。从棱角分明的拖放网格分叉而来。当我升级到最新版本(12.1.2(时,唯一的错误是

this.placeholder.enter(
drag,
drag.element.nativeElement.offsetLeft,
drag.element.nativeElement.offsetTop
);

错误:Property 'enter' does not exist on type 'CdkDropList<any>'

我发现的唯一引用是这个来自堆栈溢出的页面。当我尝试该解决方案时,行为被搞砸了,控制台正在记录这个错误ncaught RangeError: Maximum call stack size exceeded

目前的情况就是这样。

我希望在不丢失功能的情况下将此功能转移到最新的CDK版本。

当我在版本之间来回切换时,我注意到cdkDropListEnterPredicate的行为并不像它对.的使用那样起作用

在v9中,cdkDropListEnterPredicate调用每个像素的函数,但对于v12,行为发生了变化。

要查看操作中的错误,请转到package.json并从"@angular/cdk": "9.1.2"更改至:"@angular/cdk": "12.1.2"我尝试过使用dragRefdropListRef,但都失败了。

请点击查看示例。。。。。。[此处](https://stackblitz.com/edit/angular-cdk-drag-drop-sortable-flex-wrap-if3hjb?file=src/app/app.component.html)

现在有了新版本,我们可以用单个方法(cdkDragEntered(替换以前的所有方法,它将处理所有事情。

最新更新