Skip to content

Transition out leaves invisible elements in the DOM after reassignment #6150

Closed
@csangonzo

Description

@csangonzo

Describe the bug
The bug comes out then I use the out:<any_svelte_transition> in a list of items ({#each}...{/each}).
When I reassign the array that I loop through with each and the data comes from a Promise and the data 'arrives' earlier then the out animation finishes, the previous data won't get removed from the DOM, it's going to be hidden, but it takes up the space unnecessarily.

image

To Reproduce
To reproduce try the example in this repl: https://svelte.dev/repl/7163b83de9b74b7b9d2a84560b73f6bd?version=3.36.0

  • Click on filter and you can see the overflow is still there and if you ispect the list container, you can see the previos data in there.

Expected behavior
The items should disappear from the dom also and should not take up the space.

  • Your browser and the version: Firefox, Edge, Chrome
  • Your operating system: Windows, Debian
  • Svelte version: 3.36.0
  • Rollup

Severity
Somewhat annoying when trying to filter an array of products and want to do it with a smooth animation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions