要将浮层附加到点击的元素上,您可以使用Angular CDK(Component Dev Kit)库中的Overlay模块。以下是一个解决方案,其中包含代码示例:
npm install @angular/cdk
import { Overlay } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
constructor(private overlay: Overlay) { }
showOverlay(event: MouseEvent) {
const overlayRef = this.overlay.create({
positionStrategy: this.overlay.position().flexibleConnectedTo({ x: event.x, y: event.y }).withPositions([{
originX: 'start',
originY: 'top',
overlayX: 'start',
overlayY: 'top'
}])
});
const portal = new ComponentPortal(YourOverlayComponent); // 将YourOverlayComponent替换为您的浮层组件
overlayRef.attach(portal);
}
请注意,上述代码示例中的YourOverlayComponent是您自己创建的组件,用于显示浮层的内容。您需要根据自己的需求创建并使用相应的组件。
这是使用Angular CDK将浮层附加到点击的元素上的基本解决方案。您可以根据需要进一步自定义和样式化浮层。