Web 组件 (LIT) - 手风琴在打开其他组件时关闭

问题描述 投票:0回答:1
javascript accordion web-component lit
1个回答
0
投票

为什么要创建对 Lit 和 Lion 的依赖?

它几乎是一个 one-liner

<details-accordion>
用于原生
<details> <summary>
代码的原生 Web 组件

免费投入

ctrl-click

<style>
  summary { font-weight: bold; cursor: pointer }
  details[open] { background: beige  }
</style>

<details-accordion>
  <details open>
    <summary>Summary 1</summary>
      "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
  </details>
  <details>
    <summary>Summary 2</summary>
      "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  </details>
  <details>
    <summary>Summary 3</summary>
      "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
   </details>
</details-accordion>

<script>
customElements.define(
  'details-accordion', class extends HTMLElement {
    connectedCallback() {
      this.onclick = e => [...this.children].forEach(d => 
                          !e.ctrlKey && d.toggleAttribute("open", e.target == d));
    }
  });
</script>

© www.soinside.com 2019 - 2024. All rights reserved.