面板 Svelte 組件

面板 Svelte 組件代表 側面板 組件。

面板組件

包含下列組件

面板屬性

屬性類型預設值說明
side字串面板側邊。可能是 leftright
布林值side="left" 的捷徑屬性
布林值side="right" 的捷徑屬性
效果字串面板效果。可以是 coverrevealpush
覆蓋布林值effect="cover" 的捷徑屬性
揭露布林值effect="reveal" 的捷徑屬性
推動布林值effect="push" 的捷徑屬性
浮動布林值effect="floating" 的捷徑屬性
可見斷點數字當左側面板始終可見時的最小應用程式寬度(以像素為單位)
摺疊斷點數字當左側面板變為部分可見(摺疊)時的最小應用程式寬度(以像素為單位)
滑動布林值如果您想啟用使用滑動開啟/關閉面板的功能,請啟用
滑動不追隨布林值在舊/慢設備上可能會有更好的效能的備用選項。如果您啟用它,則滑動面板在觸控移動期間不會追隨您的手指,它會在向左/向右滑動時自動開啟/關閉。
滑動有效區域數字0觸發面板滑動的螢幕不可見邊緣寬度(以像素為單位)
僅滑動關閉布林值此參數允許使用滑動關閉(但不能開啟)面板。(swipe 也應該啟用)
滑動閾值數字0如果「觸摸距離」小於此值(以像素為單位),面板將不會隨著滑動而移動。
背景布林值啟用面板背景(背後深色半透明層)
背景元素HTMLElement
字串
自訂背景元素的 HTML 元素或字串 CSS 選擇器
按背景點擊關閉布林值啟用/停用通過點擊面板外部關閉面板的功能
可調整大小布林值啟用/停用可調整大小的面板
容器元素HTMLElement
字串
要將面板安裝到的元素(預設為應用程式根元素)
已開啟布林值允許開啟/關閉面板並設定其初始狀態

面板事件

事件說明
面板開啟當面板開始其開啟動畫時,將觸發事件
面板已開啟當面板完成其開啟動畫後,將觸發事件
面板關閉當面板開始其關閉動畫時,將觸發事件
面板已關閉當面板完成其關閉動畫後,將觸發事件
面板背景點擊當點擊面板背景時,將觸發事件
面板滑動在觸控滑動動作期間,將為滑動面板觸發事件
panelSwipeOpen事件將在以滑動開啟它的最開始觸發
panelCollapsedBreakpoint當它在應用程式寬度符合其 collapsedBreakpoint 時變為可見/隱藏時,事件將觸發
panelBreakpoint當它在應用程式寬度符合其 visibleBreakpoint 時變為可見/隱藏時,事件將觸發

開啟和關閉面板

您可以控制面板狀態,開啟和關閉它

存取面板實例

您可以透過呼叫 .instance() 元件方法存取已初始化的面板實例。例如

<Panel bind:this={component}>...</Panel>

<script>
  let component;

  // to get instance in some method
  component.instance()
</script>

範例

panel.svelte
<script>
  import { Navbar, Page, Block, Button, Panel, Link } from 'framework7-svelte';
</script>

<Page id="panel-page">
  <Navbar title="Panel / Side panels" />
  <Panel left cover containerEl="#panel-page" id="panel-nested">
    <Page>
      <Block strongIos outlineIos>
        <p>This is page-nested Panel.</p>
        <p>
          <Link panelClose>Close me</Link>
        </p>
      </Block>
    </Page>
  </Panel>
  <Block strongIos outlineIos>
    <p>
      Framework7 comes with 2 panels (on left and on right), both are optional. You can put
      absolutely anything inside: data lists, forms, custom content, and even other isolated app
      view (like in right panel now) with its own dynamic navbar.
    </p>
  </Block>
  <Block strongIos outlineIos>
    <p class="grid grid-cols-2 grid-gap">
      <Button raised fill panelOpen="left">Open left panel</Button>
      <Button raised fill panelOpen="right">Open right panel</Button>
    </p>
    <p>
      <Button raised fill panelOpen="#panel-nested">Open nested panel</Button>
    </p>
  </Block>
</Page>