浮动操作按钮 Vue 组件
浮动操作按钮(FABs)用于突出显示的操作。它们的特点是有一个圆形图标悬浮在 UI 之上,并具有包括变形、启动和转移锚点的运动行为。
浮动操作按钮 Vue 组件表示浮动操作按钮元素。
FAB 组件
包含以下组件:
f7-fab
- 主 FAB 元素f7-fab-buttons
- 用于作为快速拨号 FAB 的多个 FAB 按钮的包装器f7-fab-button
- 单个 FAB 快速拨号按钮f7-fab-backdrop
- FAB 背景元素
FAB 属性
属性 | 类型 | 默认 | 描述 |
---|---|---|---|
<f7-fab> 属性 | |||
href | 字符串 布尔值 | 要加载的页面 URL(如果设置)。将设置href 属性在主 FAB 链接上。如果是布尔值href="false" 则不会添加href tag | |
target | 字符串 | 链接目标属性值,例如_blank , _self ,等等。 | |
位置 | 字符串 | 右下 | FAB 位置。可以是以下之一:
|
morph-to | 字符串 | FAB 变形目标的字符串 CSS 选择器 | |
text | 字符串 | FAB 按钮文本。如果指定,则它将显示为带有文本标签的扩展 FAB | |
提示 | 字符串 | FAB提示按钮悬停/按下时显示的文本 | |
tooltip-trigger | 字符串 | 悬停 | 定义如何触发(打开)提示。可以是hover , click 或manual |
<f7-fab-buttons> 属性 | |||
位置 | 字符串 | 顶部 | 快速拨号按钮的位置,可以是以下之一:
|
<f7-fab-button> 属性 | |||
fab-close | 布尔值 | false | 当启用时,点击此按钮将关闭 FAB |
target | 字符串 | 链接目标属性值,例如_blank , _self ,等等。 | |
label | 字符串 | 按钮文本标签 | |
提示 | 字符串 | 按钮提示按钮悬停/按下时显示的文本 | |
tooltip-trigger | 字符串 | 悬停 | 定义如何触发(打开)提示。可以是hover , click 或manual |
FAB 事件
事件 | 描述 |
---|---|
<f7-fab> 事件 | |
click | 点击 FAB 后将触发事件 |
<f7-fab-button> 事件 | |
click | 点击 FAB 快速拨号按钮后将触发事件 |
FAB 插槽
FAB Vue 组件 (<f7-fab>
)具有用于自定义元素的附加插槽:
default
- 子元素将被插入到主 FAB 链接内<a>
元素。但如果子元素是f7-fab-buttons
,则它将被插入到主 FAB 元素的末尾link
- 子元素将被插入到主 FAB 链接内<a>
元素之前插入元素root
- 子元素将被插入到主 FAB 元素的末尾text
- 子元素将被插入到扩展 FAB 的文本元素中
示例
fab.vue
<template>
<f7-page>
<f7-navbar title="Floating Action Button"></f7-navbar>
<template #fixed>
<f7-fab position="right-top">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
<f7-icon ios="f7:xmark" md="material:close"></f7-icon>
<f7-fab-buttons position="left">
<f7-fab-button>1</f7-fab-button>
<f7-fab-button>2</f7-fab-button>
<f7-fab-button>3</f7-fab-button>
</f7-fab-buttons>
</f7-fab>
<f7-fab position="right-bottom">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
<f7-icon ios="f7:xmark" md="material:close"></f7-icon>
<f7-fab-buttons position="top">
<f7-fab-button label="Action 1">1</f7-fab-button>
<f7-fab-button label="Action 2">2</f7-fab-button>
<f7-fab-button label="Third Action">3</f7-fab-button>
</f7-fab-buttons>
</f7-fab>
<f7-fab position="left-bottom">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
<f7-icon ios="f7:xmark" md="material:close"></f7-icon>
<f7-fab-buttons position="top">
<f7-fab-button>1</f7-fab-button>
<f7-fab-button>2</f7-fab-button>
<f7-fab-button>3</f7-fab-button>
</f7-fab-buttons>
</f7-fab>
<f7-fab position="left-top">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
<f7-icon ios="f7:xmark" md="material:close"></f7-icon>
<f7-fab-buttons position="bottom">
<f7-fab-button>1</f7-fab-button>
<f7-fab-button>2</f7-fab-button>
<f7-fab-button>3</f7-fab-button>
</f7-fab-buttons>
</f7-fab>
<f7-fab position="center-center">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
<f7-icon ios="f7:xmark" md="material:close"></f7-icon>
<f7-fab-buttons position="center">
<f7-fab-button>1</f7-fab-button>
<f7-fab-button>2</f7-fab-button>
<f7-fab-button>3</f7-fab-button>
<f7-fab-button>4</f7-fab-button>
</f7-fab-buttons>
</f7-fab>
<f7-fab position="center-bottom" text="Create">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
</f7-fab>
</template>
<f7-block>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus
eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam
neque ducimus! Quasi, numquam.
</p>
<p>
Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut
laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur
quam eaque, voluptate laboriosam unde.
</p>
<p>
Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores
odio sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio
laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.
</p>
<p>
Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam
illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia,
rerum placeat nobis est.
</p>
<p>
Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore
voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa
obcaecati aspernatur odio assumenda veniam, ipsum alias.
</p>
</f7-block>
<f7-block>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque
dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis
officia at quas dolorem earum!
</p>
<p>
Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora
minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis
necessitatibus aut odit aliquam adipisci.
</p>
<p>
Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga
veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum
cumque at. Adipisci sint, iusto blanditiis ullam? Vel?
</p>
<p>
Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur
expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit
cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.
</p>
<p>
Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus,
labore excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat
eaque fuga. Consectetur in eveniet, deleniti recusandae omnis eum quas?
</p>
<p>
Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat
cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae
blanditiis. Voluptas unde deleniti quisquam, nobis?
</p>
<p>
Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam
facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui
mollitia facere. Nostrum esse recusandae voluptatibus eligendi.
</p>
</f7-block>
</f7-page>
</template>
<script>
import {
f7Navbar,
f7Page,
f7Fab,
f7FabButtons,
f7FabButton,
f7Icon,
f7Block,
} from 'framework7-vue';
export default {
components: {
f7Navbar,
f7Page,
f7Fab,
f7FabButtons,
f7FabButton,
f7Icon,
f7Block,
},
};
</script>
FAB 变形
fab-morph.vue
<template>
<f7-page>
<f7-navbar title="Floating Action Button Morph"></f7-navbar>
<f7-toolbar tabbar icons bottom class="fab-morph-target">
<f7-link
tab-link
tab-link-active
icon-ios="f7:envelope_fill"
icon-md="material:email"
text="Inbox"
/>
<f7-link tab-link icon-ios="f7:calendar_fill" icon-md="material:today" text="Calendar" />
<f7-link
tab-link
icon-ios="f7:cloud_upload_fill"
icon-md="material:file_upload"
text="Upload"
/>
</f7-toolbar>
<f7-fab position="right-bottom" morph-to=".toolbar.fab-morph-target">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
</f7-fab>
<f7-fab position="left-bottom" morph-to=".demo-fab-sheet.fab-morph-target">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
</f7-fab>
<f7-fab position="center-bottom" morph-to=".demo-fab-fullscreen-sheet.fab-morph-target">
<f7-icon ios="f7:plus" md="material:add"></f7-icon>
</f7-fab>
<template #fixed>
<div class="list links-list demo-fab-sheet fab-morph-target">
<ul>
<li><a class="fab-close">Link 1</a></li>
<li><a class="fab-close">Link 2</a></li>
<li><a class="fab-close">Link 3</a></li>
<li><a class="fab-close">Link 4</a></li>
</ul>
</div>
<div class="demo-fab-fullscreen-sheet fab-morph-target">
<f7-block-title>Choose Something</f7-block-title>
<div class="list links-list">
<ul>
<li><a class="fab-close">Link 1</a></li>
<li><a class="fab-close">Link 2</a></li>
<li><a class="fab-close">Link 3</a></li>
<li><a class="fab-close">Link 4</a></li>
</ul>
</div>
</div>
</template>
<f7-block>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus
eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam
neque ducimus! Quasi, numquam.
</p>
<p>
Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut
laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur
quam eaque, voluptate laboriosam unde.
</p>
<p>
Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores
odio sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio
laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.
</p>
<p>
Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam
illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia,
rerum placeat nobis est.
</p>
<p>
Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore
voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa
obcaecati aspernatur odio assumenda veniam, ipsum alias.
</p>
</f7-block>
<f7-block>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque
dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis
officia at quas dolorem earum!
</p>
<p>
Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora
minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis
necessitatibus aut odit aliquam adipisci.
</p>
<p>
Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga
veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum
cumque at. Adipisci sint, iusto blanditiis ullam? Vel?
</p>
<p>
Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur
expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit
cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.
</p>
<p>
Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus,
labore excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat
eaque fuga. Consectetur in eveniet, deleniti recusandae omnis eum quas?
</p>
<p>
Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat
cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae
blanditiis. Voluptas unde deleniti quisquam, nobis?
</p>
<p>
Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam
facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui
mollitia facere. Nostrum esse recusandae voluptatibus eligendi.
</p>
</f7-block>
</f7-page>
</template>
<script>
import {
f7Navbar,
f7Page,
f7BlockTitle,
f7Block,
f7Toolbar,
f7Fab,
f7Icon,
f7Link,
} from 'framework7-vue';
export default {
components: {
f7Navbar,
f7Page,
f7BlockTitle,
f7Block,
f7Toolbar,
f7Fab,
f7Icon,
f7Link,
},
};
</script>