sveltestrap icon indicating copy to clipboard operation
sveltestrap copied to clipboard

Dropdown - setActiveFromChild is not working

Open Swoopy opened this issue 2 years ago • 1 comments

Dropdown - setActiveFromChild is not working with latest Sveltekit. The 'ACTIVE' class is initialized on mount (based on child element .active classes) for once, but doesn't refresh when child elements classes change later. It seems the child-element-observer doesent trigger on dom change. I've used the same code as on the site: Sveltestrap - Dropdown (setActiveFromChild)

  • VITE v3.0.9
  • Sveltekit 1.0.0-next.468
  • sveltestrap 5.9.0
<Dropdown nav setActiveFromChild>
  <DropdownToggle nav caret>{nav.name}</DropdownToggle>
    <DropdownMenu class="shadow">
      {#each nav.submenu as submenu}
        <DropdownItem class="text-uppercase" href={submenu.href} active={$page.url.pathname === submenu.href}> 
          {submenu.name}
       </DropdownItem>
     {/each}
  </DropdownMenu>
</Dropdown>

Swoopy avatar Sep 06 '22 21:09 Swoopy

Thank you for opening an issue @Swoopy. Did you define the styles for the dropdown active class?

See this REPL

:global(.dropdown.active) {
  background-color: red;
}

dysfunc avatar Nov 14 '22 14:11 dysfunc