ポップオーバーコンポーネントは、ポップオーバー内のコンテンツの表示を管理するために使用されます。ポップオーバーは、一時的に情報を表示するために使用します。ポップオーバーは、ユーザーがポップオーバーウィンドウの外側をタップするか、明示的に閉じられるまで表示されたままになります。
以下のコンポーネントが含まれています
ポップオーバー
名前 | 型 | デフォルト | 説明 |
---|---|---|---|
angle | boolean | true | ポップオーバーの「アングル」/「コーナー」をレンダリングします |
angleClass | string | undefined | 「アングル」/「コーナー」要素に追加する追加の CSS クラス |
backdrop | boolean | true | ポップオーバーの背景(背後の暗い半透明レイヤー)を有効にします |
colors | object | Tailwind CSS カラークラスを持つオブジェクト | |
colors.bgIos | string | 'bg-ios-light-surface-3 dark:bg-ios-dark-surface-3' | |
colors.bgMaterial | string | 'bg-md-light-surface-3 dark:bg-md-dark-surface-3' | |
component | string | 'div' | コンポーネントの HTML 要素 |
opened | boolean | boolean | ポップオーバーを開閉し、初期状態を設定できます |
size | string | 'w-64' | Tailwind CSS サイズクラス |
target | string | HTMLElement | Ref | ポップオーバーのターゲット要素。ポップオーバーはこの要素の周囲に配置されます | |
targetHeight | number | 仮想ターゲット要素の高さ(px単位)。実際のターゲット要素( | |
targetWidth | number | number | |
仮想ターゲット要素の幅(px単位)。実際のターゲット要素(target プロパティ)を使用しない場合に必要 | number | targetX | |
number | number | 画面の左側からの仮想ターゲット要素の水平方向オフセット。実際のターゲット要素( | |
targetY | boolean | true | number |
target
プロパティ)を使用しない場合に必要名前 | 型 | 説明 |
---|---|---|
translucent | iOSテーマで、ポップオーバーの背景を半透明(backdrop-filter: blur を使用)にします |
<template><k-page><k-navbar title="Popover"><template #right><k-linkclass="popover-navbar-link"navbar@click="() => openPopover('.popover-navbar-link')">Popover</k-link></template></k-navbar><k-block class="space-y-4"><p><k-buttonclass="popover-button"@click="() => openPopover('.popover-button')">Open popover on me</k-button></p><p>Mauris fermentum neque et luctus venenatis. Vivamus a sem rhoncus,ornare tellus eu, euismod mauris. In porta turpis at semper convallis.Duis adipiscing leo eu nulla lacinia, quis rhoncus metus condimentum.Etiam nec malesuada nibh. Maecenas quis lacinia nisl, vel posuere dolor.Vestibulum condimentum, nisl ac vulputate egestas, neque enim dignissimelit, rhoncus volutpat magna enim a est. Aenean sit amet ligula neque.Cras suscipit rutrum enim. Nam a odio facilisis, elementum tellus non,{{' '}}<k-linkclass="popover-link-1"@click="() => openPopover('.popover-link-1')">popover </k-link>{{ ' ' }}tortor. Pellentesque felis eros, dictum vitae lacinia quis, lobortisvitae ipsum. Cras vehicula bibendum lorem quis imperdiet.</p><p>In hac habitasse platea dictumst. Etiam varius, ante vel ornarefacilisis, velit massa rutrum dolor, ac porta magna magna lacinia nunc.Curabitur{{ ' ' }}<k-linkclass="popover-link-2"@click="() => openPopover('.popover-link-2')">popover! </k-link>{{ ' ' }}cursus laoreet. Aenean vel tempus augue. Pellentesque in imperdiet nibh.Mauris rhoncus nulla id sem suscipit volutpat. Pellentesque ac arcu innisi viverra pulvinar. Nullam nulla orci, bibendum sed ligula non,ullamcorper iaculis mi. In hac habitasse platea dictumst. Praesentvarius at nisl eu luctus. Cras aliquet porta est. Quisque elementum quisdui et consectetur. Cum sociis natoque penatibus et magnis disparturient 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{{' '}}<k-linkclass="popover-link-3"@click="() => openPopover('.popover-link-3')">one more popover </k-link>{{ ' ' }}massa at accumsan. Etiam purus odio, posuere in ligula vitae, viverraultricies justo. Vestibulum nec interdum nisi. Aenean ac consecteturvelit, non malesuada magna. Sed pharetra vehicula augue, vel venenatislectus gravida eget. Curabitur lacus tellus, venenatis eu arcu in,interdum auctor nunc. Nunc non metus neque. Suspendisse viverra lectussed risus aliquet, vel accumsan dolor feugiat.</p></k-block><k-popover:opened="popoverOpened":target="popoverTargetRef"@backdropclick="() => (popoverOpened = false)"><k-list nested><k-list-itemtitle="Item 1"link@click="() => (popoverOpened = false)"/><k-list-itemtitle="List Item 2"link@click="() => (popoverOpened = false)"/><k-list-itemtitle="Item 3"link@click="() => (popoverOpened = false)"/><k-list-itemtitle="List Item 4"link@click="() => (popoverOpened = false)"/><k-list-itemtitle="Item 5"link@click="() => (popoverOpened = false)"/></k-list></k-popover></k-page></template><script>import { ref } from 'vue';import {kPage,kNavbar,kNavbarBackLink,kPopover,kBlock,kLink,kButton,kList,kListItem,} from 'konsta/vue';export default {components: {kPage,kNavbar,kNavbarBackLink,kPopover,kBlock,kLink,kButton,kList,kListItem,},setup() {const popoverOpened = ref(false);const popoverTargetRef = ref(null);const openPopover = (targetRef) => {popoverTargetRef.value = targetRef;popoverOpened.value = true;};return {popoverOpened,popoverTargetRef,openPopover,};},};</script>