パネルReactコンポーネント

    Panel Reactコンポーネントは、Side Panelsコンポーネントを表します。

    Panel コンポーネント

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

    • Panel - Panel 要素

    パネルのプロパティ

    PropTypeDefaultDescription
    sidestringパネルの側面です。left または right` になります。
    leftbooleanside="left"` のショートカットプロップです。
    rightbooleanside="right"` のショートカット・プロップです。
    effectstringパネルの効果。cover, reveal, push` のいずれかです。
    coverbooleaneffect="cover"`のショートカットプロップです。
    revealbooleaneffect="reveal"`のショートカットプロップです。
    pushbooleanEFFECT="PUSH"`のショートカットプロップ
    visibleBreakpointnumber左パネルが常に表示されるようになったときのアプリの最小幅(px単位
    collapsedBreakpointnumber左パネルが部分的に表示される(折りたたまれる)場合のアプリの最小幅(px
    swipebooleanfalseスワイプでパネルを開閉する機能を有効にする場合は、Enableを選択します。
    swipeNoFollowbooleanfalse古いデバイスや遅いデバイスでのパフォーマンスを向上させる可能性のあるフォールバックオプションです。このオプションを有効にすると、タッチ操作時にスワイプパネルが指に追従せず、左右のスワイプで自動的に開閉されるようになります。
    swipeActiveAreanumber0パネルのスワイプを誘発するスクリーンからの見えないエッジの幅(px)
    swipeOnlyClosebooleanfalseこのパラメータは、スワイプでパネルを閉じる(開かない)ことができます。(swipe も有効にしてください)
    swipeThresholdnumber0touch distance" がこの値 (px) よりも小さい場合、パネルはスワイプでは動きません。
    backdropbooleantrueパネルの背景を有効にします (背後にある暗い半透明のレイヤー)
    backdropElHTMLElement
    string
    カスタム背景要素の HTML 要素または文字列 CSS セレクタ
    closeByBackdropClickbooleantrueパネルの外側をクリックしてパネルを閉じる機能の有効化/無効化
    resizablebooleanfalseサイズ変更可能なパネルの有効化/無効化
    containerElHTMLElement
    string
    パネルをマウントする要素(デフォルトはアプリのルート要素
    openedbooleanパネルの開閉や初期状態の設定を可能にする

    パネルのイベント

    EventDescription
    panelOpenパネルがオープニングアニメーションを開始するとイベントが発生します。
    panelOpenedパネルのオープニングアニメーションが完了すると、イベントが発生します。
    panelCloseパネルが閉じるアニメーションを開始すると、イベントが発生します。
    panelClosedパネルが閉じるアニメーションが完了すると、イベントが発生します。
    panelBackdropClickパネルの背景がクリックされるとイベントが発生します。
    panelSwipeスワイプパネルの場合、タッチのスワイプ動作時にイベントが発生する
    panelSwipeOpenイベントはスワイプでパネルを開いた最初の段階で発生します。
    panelCollapsedBreakpointイベントは、アプリの幅が collapsedBreakpoint と一致したときに表示/非表示になるとトリガーされます。
    panelBreakpointイベントは、アプリの幅が visibleBreakpoint と一致したときに、表示/非表示になるとトリガーされます。

    パネルの開閉

    パネルの状態を制御して、開いたり閉じたりすることができます。

    • Panel APIを使用します。
    • パネルの opened プロップに true または false を渡します。
    • リンクボタンをクリックして、関連するpanelOpenプロパティ(パネルを開く)やpanelCloseプロパティ(パネルを閉じる)を指定する。

    Examples

    import React from 'react';
    import { App, Panel, View, Page, Block, Navbar, Row, Col, Button, Link } from 'framework7-react';
    import './panel.css';
    
    export default () => (
      <App>
        <Panel resizable left reveal>
          <View>
            <Page>
              <Block>Left panel content</Block>
            </Page>
          </View>
        </Panel>
        <Panel resizable right themeDark>
          <View>
            <Page>
              <Block>Right panel content</Block>
            </Page>
          </View>
        </Panel>
        <View main>
          <Page id="panel-page">
            <Navbar title="Panel"></Navbar>
    
            <Panel left cover themeDark containerEl="#panel-page" id="panel-nested">
              <Page>
                <Block strong>
                  <p>This is page-nested Panel.</p>
                  <p>
                    <Link panelClose>Close me</Link>
                  </p>
                </Block>
              </Page>
            </Panel>
    
            <Block>
              <Row tag="p">
                <Col tag="span">
                  <Button raised fill panelOpen="left">
                    Open left panel
                  </Button>
                </Col>
                <Col tag="span">
                  <Button raised fill panelOpen="right">
                    Open right panel
                  </Button>
                </Col>
              </Row>
              <Row tag="p">
                <Col tag="span">
                  <Button raised fill panelOpen="#panel-nested">
                    Open nested panel
                  </Button>
                </Col>
              </Row>
            </Block>
          </Page>
        </View>
      </App>
    );
    
    /* panel.css */
    .panel {
      min-width: 100px;
      max-width: 90vw;
    }