shoelace-style/webawesome

Dynamically adding/removing carousel slides with the `loop` property is glitchy

Open

#2,173 opened on 2026年3月16日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)TypeScript (157 forks)github user discovery
bughelp wanted

Repository metrics

Stars
 (1,104 stars)
PR merge metrics
 (PR metrics pending)

説明

Describe the bug

When adding slides to a looping sl-carousel dynamically, the clone slides present challenges.

To Reproduce

Steps to reproduce the behavior:

  1. Go to the sl-carousel docs page
  2. Scroll to the add/remove example
  3. Modify the dom in your browser to add the loop attribute to the sl-carousel
  4. Try to use the example to add/remove slides.

Additional information

This could probably be solved by having the clone slides live outside the slot.

Pseudocode alert!

render() {
...
  if (loop) {
    <sl-carousel-clone></sl-carousel-clone>
  }
  <slot></slot>
  if (loop) {
    <sl-carousel-clone></sl-carousel-clone>
  }
...
}

コントリビューターガイド