ポップオーバーSvelteコンポーネント

    ポップオーバーコンポーネントは、ポップオーバー内のコンテンツの表示を管理するために使用します。ポップオーバーは、一時的に情報を表示するために使用します。ポップオーバーは、ユーザーがポップオーバー ウィンドウの外をタップするか、明示的にポップオーバーを解除するまで表示されます。

    Popover Svelteコンポーネントは、ポップオーバーコンポーネントを表しています。

    ポップオーバーコンポーネント

    以下のコンポーネントが含まれています。

    • Popover

    ポップオーバーのプロパティ

    PropTypeDefaultDescription
    <Popover> properties
    openedbooleanfalseポップオーバーの開閉や、初期状態の設定を行います。
    targetElstring
    object
    ポップオーバーの対象となる要素の HTML 要素または文字列の CSS セレクタです。
    backdropbooleanポップオーバーの背景(後ろの暗い半透明のレイヤー)を有効にします。デフォルトでは、同じアプリのパラメータ値(true)を継承します。
    backdropElstring
    object
    カスタム背景要素のHTML要素または文字列のCSSセレクタ
    closeByBackdropClickbooleantrue有効にすると、背景をクリックしたときにポップオーバーが閉じられます。デフォルトでは、同じアプリのパラメータ値を継承します。
    closeByOutsideClickbooleantrue有効にすると、ポップオーバーは、その外側をクリックすると閉じられます。デフォルトでは、同じアプリのパラメータ値を継承します。
    closeOnEscapebooleanfalse有効にすると、ESC キーを押したときにポップオーバーが閉じます。
    animatebooleanモーダルの開閉をアニメーションで行うかどうか
    containerElHTMLElement
    string
    モーダルをマウントする要素(デフォルトはアプリのルート要素

    ポップオーバーのイベント

    EventDescription
    <Popover> events
    popoverOpenポップオーバーのオープニングアニメーションが始まるとイベントが発生します
    popoverOpenedPopoverがオープニングアニメーションを完了した後にイベントが発生する
    popoverCloseポップオーバーが閉じるアニメーションを開始するとイベントが発生します
    popoverClosedポップオーバーのクロージングアニメーションが完了するとイベントが発生します。

    ポップオーバーのオープンとクローズ

    ポップオーバーの状態を制御して、開いたり閉じたりすることができます。

    • Popover APIを使用します。
    • ポップオーバーの opened プロパティーに true または false を渡します。
    • リンクボタンをクリックして、関連するpopoverOpenプロパティ(開く)やpopoverCloseプロパティ(閉じる)を指定する。

    ポップオーバーのインスタンスへのアクセス

    Popoverの初期化されたインスタンスにアクセスするには、.instance()コンポーネントのメソッドを呼び出します。例えば、以下のようになります。

    <Popover bind:this={component}>...</Popover>
    
    <script>
      let component;
    
      // あるメソッドでインスタンスを取得する
      component.instance()
    </script>
    

    Examples

    <Page>
      <Navbar title="Popover" />
      <Toolbar bottom>
        <Link>Dummy Link</Link>
        <Link popoverOpen=".popover-menu">Open Popover</Link>
      </Toolbar>
    
      <Block>
        <p><Button fill raised popoverOpen=".popover-menu">Open popover on me</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 dignissim elit, rhoncus volutpat magna enim a est. Aenean sit amet ligula neque. Cras suscipit rutrum enim. Nam a odio facilisis, elementum tellus non, <Link popoverOpen=".popover-menu">popover</Link> tortor. Pellentesque felis eros, dictum vitae lacinia quis, lobortis vitae ipsum. 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 <Link popoverOpen=".popover-menu">popover!</Link> cursus laoreet. Aenean vel tempus augue. Pellentesque in imperdiet nibh. Mauris rhoncus nulla id sem suscipit volutpat. Pellentesque ac arcu in nisi viverra pulvinar. Nullam nulla orci, bibendum sed ligula non, ullamcorper iaculis mi. In hac habitasse platea dictumst. Praesent varius at nisl eu luctus. Cras aliquet porta est. Quisque elementum quis dui et consectetur. Cum sociis natoque penatibus et 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 erat venenatis eu. Proin sit amet faucibus tortor, et varius sem. Etiam vitae lacinia neque. Aliquam nisi purus, interdum in arcu sed, ultrices rutrum arcu. Nulla mi turpis, consectetur vel enim quis, facilisis viverra dui. Aliquam quis convallis tortor, quis semper ligula. Morbi ullamcorper <Link popoverOpen=".popover-menu">one more popover</Link> massa at accumsan. Etiam purus odio, posuere in ligula vitae, viverra ultricies justo. Vestibulum nec interdum nisi. Aenean ac consectetur velit, non malesuada magna. Sed pharetra vehicula augue, vel venenatis lectus gravida eget. Curabitur lacus tellus, venenatis eu arcu in, interdum auctor nunc. Nunc non metus neque. Suspendisse viverra lectus sed risus aliquet, vel accumsan dolor feugiat.</p>
      </Block>
      <Popover class="popover-menu">
        <List>
          <ListItem link="#" popoverClose title="Dialog" />
          <ListItem link="#" popoverClose title="Tabs" />
          <ListItem link="#" popoverClose title="Side Panels" />
          <ListItem link="#" popoverClose title="List View" />
          <ListItem link="#" popoverClose title="Form Inputs" />
        </List>
      </Popover>
    </Page>
      
    
    
    <script>
      import {Page, Navbar, Toolbar, Link, Block, Button, Popover, List, ListItem} from 'framework7-svelte';
    </script>