Угловой динамический компонент, вставьте перед другим компонентом - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть приложение Angular7, где пользователи могут изменять порядок вкладок таблицы с помощью перетаскивания. Когда мы перетаскиваем тег на другую вкладку, я хотел бы вставить после или перед скрытой вкладкой (зависит от положения перетаскиваемой вкладки по сравнению с скрытой) компонент предварительного просмотра, который представляет собой просто компонент с небольшим блоком HTML чтобы указать, куда вкладка будет отброшена.

Я использую динамический компонент для этого, у меня есть событие dragenter на вкладках, где я вызываю сервис, который создает динамический компонент.

Событие DragEnter на вкладке:

private dragEnterElement = (e: DragEvent): void => {        
 this.dragService.setRootViewContainerRef(this.dragElementviewContainerRef);
 this.dragService.addDynamicComponent();
}

Услуга:

public setRootViewContainerRef = (viewContainerRef): void => {
    this.rootViewContainer = viewContainerRef;
}

public addDynamicComponent = (): void => {
    const factory = this.factoryResolver.resolveComponentFactory(PreviewDragTabComponent);
    const component = factory.create(this.rootViewContainer.parentInjector);
    this.rootViewContainer.insert(component.hostView);
}

Это очень хорошо работает для вставки компонента предварительного просмотра ПОСЛЕ вкладки с наведением, но я не нашел способа вставить компонент ДО накрытия.

Кто-нибудь знает, есть ли способ сделать это с помощью угловой динамической составляющей?

Спасибо за вашу помощь

...