У меня есть приложение 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);
}
Это очень хорошо работает для вставки компонента предварительного просмотра ПОСЛЕ вкладки с наведением, но я не нашел способа вставить компонент ДО накрытия.
Кто-нибудь знает, есть ли способ сделать это с помощью угловой динамической составляющей?
Спасибо за вашу помощь