Angular 角度CDK拖动和复制行为问题
我有两个列表,S(源),D(估计)。 当S的拖动项进入D时,该项立即从S消失,并出现在D中 S:Angular 角度CDK拖动和复制行为问题,angular,angular-cdk,Angular,Angular Cdk,我有两个列表,S(源),D(估计)。 当S的拖动项进入D时,该项立即从S消失,并出现在D中 S: {{data}} D: {{data}} 我希望防止列表S中的项消失,但使其同时在S和D列表中可见 备注:drop($event)函数可以处理项目删除后的复制行为,因此在两个列表中都可用。 问题是该项在CDKDROPLISTENDERED和CDKDROPLISTDROPS事件之间消失 ps2.: 由于找不到任何解决方案,我尝试了一些变通方法: 1.在D的cdkdroplistenered
{{data}}
D:
{{data}}
我希望防止列表S中的项消失,但使其同时在S和D列表中可见
备注:drop($event)函数可以处理项目删除后的复制行为,因此在两个列表中都可用。
问题是该项在CDKDROPLISTENDERED和CDKDROPLISTDROPS事件之间消失
ps2.:
由于找不到任何解决方案,我尝试了一些变通方法:
1.在D的cdkdroplistenered事件处理程序上,我在s中复制了该项
2.在D的cdkdroplisted事件处理程序上,我从s中删除了重复的项
此解决方案99%正常工作,但当客户快速拖动鼠标时,CDK抛出异常
在stackblitz中,它100%失败:将更改检测器注入到构造函数中
constructor(private changeDetectorRef: ChangeDetectorRef) { }
然后,当您在DropListented和DropListented call中修改列表时:
this.changeDetectorRef.detectChanges();
constructor(private changeDetectorRef: ChangeDetectorRef) { }
this.changeDetectorRef.detectChanges();