Popover コンポーネントは、ポップオーバー内のコンテンツの表示を管理するために使用されます。ポップオーバーは、情報を一時的に表示するために使用します。ポップオーバーは、ユーザーがポップオーバーウィンドウの外側をタップするか、明示的に閉じるまで表示されたままになります。
次のコンポーネントが含まれています
ポップオーバー
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
angle | boolean | true | ポップオーバーの "angle" / "corner" をレンダリングします |
angleClass | string | undefined | "angle" / "corner" 要素に追加する追加の CSS クラス |
backdrop | boolean | true | boolean |
ポップオーバーの背景 (背後の半透明の暗いレイヤー) を有効にします | colors | object | |
Tailwind CSS カラークラスを持つオブジェクト | string | colors.bgIos | |
'bg-ios-light-surface-3 dark:bg-ios-dark-surface-3' | string | colors.bgMaterial | |
'bg-md-light-surface-3 dark:bg-md-dark-surface-3' | boolean | opened | boolean |
false | string | ポップオーバーを開閉し、初期状態を設定できるようにします | size |
string | string | 'w-64' | Tailwind CSS サイズクラス | target | |
HTMLElement | Ref | ポップオーバーのターゲット要素。ポップオーバーはこの要素の周囲に配置されます | |
targetHeight | Ref | number | |
仮想ターゲット要素の高さ (px 単位)。実際のターゲット要素 (target prop) を使用しない場合に必要です | Ref | targetWidth | |
number | Ref | 仮想ターゲット要素の幅 (px 単位)。実際のターゲット要素 ( | |
targetX | boolean | true | number |
画面の左側からの仮想ターゲット要素の水平オフセット。実際のターゲット要素 (target prop) を使用しない場合に必要です | targetY | number |
target
prop) を使用しない場合に必要です<script>import {Page,Navbar,NavbarBackLink,Popover,Block,Link,Button,List,ListItem,} from 'konsta/svelte';let popoverOpened = false;let popoverTargetEl = null;const openPopover = (targetEl) => {popoverTargetEl = targetEl;popoverOpened = true;};</script><Page><Navbar title="Popover"><Linkslot="right"class="popover-navbar-link"navbaronClick={() => openPopover('.popover-navbar-link')}>Popover</Link></Navbar><Block class="space-y-4"><p><Buttonclass="popover-button"onClick={() => openPopover('.popover-button')}>Open popover on me</Button></p><p>Mauris fermentum neque et luctus venenatis. Vivamus a sem rhoncus, ornaretellus eu, euismod mauris. In porta turpis at semper convallis. Duisadipiscing leo eu nulla lacinia, quis rhoncus metus condimentum. Etiam necmalesuada nibh. Maecenas quis lacinia nisl, vel posuere dolor. Vestibulumcondimentum, nisl ac vulputate egestas, neque enim dignissim elit, rhoncusvolutpat magna enim a est. Aenean sit amet ligula neque. Cras suscipitrutrum enim. Nam a odio facilisis, elementum tellus non,{' '}<Linkclass="popover-link-1"onClick={() => openPopover('.popover-link-1')}>popover</Link>{' '}tortor. Pellentesque felis eros, dictum vitae lacinia quis, lobortis vitaeipsum. Cras vehicula bibendum lorem quis imperdiet.</p><p>In hac habitasse platea dictumst. Etiam varius, ante vel ornare facilisis,velit massa rutrum dolor, ac porta magna magna lacinia nunc. Curabitur{' '}<Linkclass="popover-link-2"onClick={() => openPopover('.popover-link-2')}>popover!</Link>{' '}cursus laoreet. Aenean vel tempus augue. Pellentesque in imperdiet nibh. Maurisrhoncus nulla id sem suscipit volutpat. Pellentesque ac arcu in nisi viverrapulvinar. Nullam nulla orci, bibendum sed ligula non, ullamcorper iaculis mi.In hac habitasse platea dictumst. Praesent varius at nisl eu luctus. Cras aliquetporta est. Quisque elementum quis dui et consectetur. Cum sociis natoque penatibuset magnis dis parturient montes, nascetur ridiculus mus. Sed sed laoreet purus.Pellentesque eget ante ante.</p><p>Duis et ultricies nibh. Sed facilisis turpis urna, ac imperdiet eratvenenatis eu. Proin sit amet faucibus tortor, et varius sem. Etiam vitaelacinia neque. Aliquam nisi purus, interdum in arcu sed, ultrices rutrumarcu. Nulla mi turpis, consectetur vel enim quis, facilisis viverra dui.Aliquam quis convallis tortor, quis semper ligula. Morbi ullamcorper{' '}<Linkclass="popover-link-3"onClick={() => openPopover('.popover-link-3')}>one more popover</Link>{' '}massa at accumsan. Etiam purus odio, posuere in ligula vitae, viverra ultriciesjusto. Vestibulum nec interdum nisi. Aenean ac consectetur velit, non malesuadamagna. Sed pharetra vehicula augue, vel venenatis lectus gravida eget. Curabiturlacus tellus, venenatis eu arcu in, interdum auctor nunc. Nunc non metus neque.Suspendisse viverra lectus sed risus aliquet, vel accumsan dolor feugiat.</p></Block><Popoveropened={popoverOpened}target={popoverTargetEl}onBackdropClick={() => (popoverOpened = false)}><List nested><ListItem title="Item 1" link onClick={() => (popoverOpened = false)} /><ListItemtitle="List Item 2"linkonClick={() => (popoverOpened = false)}/><ListItem title="Item 3" link onClick={() => (popoverOpened = false)} /><ListItemtitle="List Item 4"linkonClick={() => (popoverOpened = false)}/><ListItem title="Item 5" link onClick={() => (popoverOpened = false)} /></List></Popover></Page>