Диалог наложения не перемещается при прокрутке - PullRequest
0 голосов
/ 23 сентября 2019

На изображении MatDialog Поле в top диалогового окна У меня есть компонент (MyNewDetailComponent), который я открываю через Overlay и ядля scrollOptions установлено значение reposition().

Проблема заключается в том, что во время прокрутки в диалоговом компоненте компонент наложения не перемещается.

Вот Code

export class MyComponent{

    constructor(protected overlay: Overlay,
        protected scrollStrategyOptions: ScrollStrategyOptions,
        protected viewContainerRef: ViewContainerRef) {

    const strategy = this.overlay.position()
    .connectedTo(cdkOverlayOrigin.elementRef, { originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' })
    .withOffsetX(5)
    .withOffsetY(0);


    const config = new OverlayConfig({ positionStrategy: strategy, scrollStrategy: this.overlay.scrollStrategies.reposition(), width: '285px', hasBackdrop: false });
    this.testOverlayRef = this.overlay.create(config);

    const componentReference = this.testOverlayRef.attach(
    new ComponentPortal(MyNewDetailComponent, this.viewContainerRef));

    this.testOverlayRef.updatePosition();

}

enter image description here

1 Ответ

0 голосов
/ 26 сентября 2019

Solutuion,

/** Time in milliseconds to throttle the scroll events. **/
const config = new OverlayConfig({ positionStrategy: strategy, scrollStrategy: this.overlay.scrollStrategies.reposition({scrollThrottle:10}), width: '285px', hasBackdrop: false });

См. RepositionScrollStrategy для углового материала.

Примечание: Перемещение в компоненте ckd-overlayпроизойдет в зависимости от положения прокрутки прокрутки родительского окна.

...