bug(drag-drop): Slot content not visible when we start dragging an element
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 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.
Contributor guide
Research direction
Open the linked StackBlitz reproduction and start with src/main.ts. Drag “Item 1 in slot” to confirm that projected slot content is missing from the drag preview. Done means the slot text remains visible while dragging, with the reproduction steps still passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100