Panel Vue Component

Panel Vue component represents Side Panels component.

Panel Components

There are following components included:

  • f7-panel - Panel element

Panel Properties

sidestringPanel side. Could be left or right
leftbooleanShortcut prop for side="left"
rightbooleanShortcut prop for side="right"
effectstringPanel effect. Could be cover or reveal
coverbooleanShortcut prop for effect="cover"
revealbooleanShortcut prop for effect="reveal"
openedbooleanAllows to open/close panel and set its initial state
resizablebooleanfalseEnables/disables resizable panel

Panel Methods

.open(animate)Open panel
.close(animate)Close panel

Panel Events

panel:openEvent will be triggered when Panel starts its opening animation
panel:openedEvent will be triggered after Panel completes its opening animation
panel:closeEvent will be triggered when Panel starts its closing animation
panel:closedEvent will be triggered after Panel completes its closing animation
panel:backdrop-clickEvent will be triggered when the panel backdrop is clicked
panel:swipeEvent will be triggered for swipe panels during touch swipe action
panel:swipeopenEvent will be triggered in the very beginning of opening it with swipe
panel:breakpointEvent will be triggered when it becomes visible/hidden when app width matches its breakpoint

Open And Close Panel

You can control panel state, open and closing it:

  • using Panel API
  • by passing true or false to its opened prop
  • by clicking on Link or Button with relevant panel-open property (to open it) and panel-close property to close it

Access To Panel Instance

You can access Panel initialized instance by accessing .f7Panel component's property.


/* Limit resizable panel width */
.panel {
  min-width: 100px;
  max-width: 90vw;
  <!-- Left resizable Panel with Reveal effect -->
  <f7-panel left reveal resizable>
        <f7-block>Left panel content</f7-block>

  <!-- Right resizable Panel with Cover effect and dark layout theme -->
  <f7-panel right resizable theme-dark>
        <f7-block>Right panel content</f7-block>

  <!-- Main view -->
  <f7-view main>
      <f7-navbar title="Panel"></f7-navbar>

      <f7-block class="row">
          <f7-button raised panel-open="left">Open left panel</f7-button>
          <f7-button raised panel-open="right">Open right panel</f7-button>