angular / angular/components

bug(drag-drop): Slot content not visible when we start dragging an element

Ouverte
#27,872 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area: cdk/drag-drop P4
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
91

Description

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

Hi,

Background:
I am creating a reusable dynamic list component which also has the ability to drag and drop items in a list.
This component uses **slots** to dynamically project content from the consumer component.

Problem:
The component renders correctly.
But when I start dragging an item, the content in the slot is not visible.

Does anyone know how to solve this issue or any workaround for this?

@angular/cdk
@angular/cdk/drag-drop

Thanks!

### Reproduction

StackBlitz link: https://stackblitz.com/edit/stackblitz-starters-jbsaba?file=src%2Fmain.ts
Steps to reproduce:
1. Click on "Item 1 in slot" and start dragging it.
2. Notice that the text "Item 1 in slot" is not visible while you are dragging the item.

### Expected Behavior

Any content in a slot element should be visible while dragging the element.

### Actual Behavior

Content in the slot is not visible while you are dragging the item.

### Environment

- Angular: 16.2.7
- CDK/Material: 16.2.6
- Browser(s): Chrome
- Operating System: macOS

### REASON -
I am still debugging but found the reason behind this problem.
As per documentation,
"When a cdkDrag element is picked up, it will create a preview element visible while dragging."
This causes another slot element to be created with the same name which is why we don't see its content.

Still trying to find a solution.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Ouvrez la reproduction StackBlitz liée et commencez par src/main.ts. Faites glisser « Item 1 in slot » pour confirmer que le contenu de slot projeté est absent de l’aperçu du glissement. C’est terminé lorsque le texte du slot reste visible pendant le glissement et que les étapes de reproduction passent toujours.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.