浮動動作按鈕 React 元件
浮動動作按鈕 (FAB) 用於促銷動作。它們的特徵是浮動在 UI 上方的圓形圖示,並具有變形、啟動和傳輸錨點等動作行為。
浮動動作按鈕 React 元件表示 浮動動作按鈕 元素。
FAB 元件
包含下列元件
Fab
- 主要 FAB 元素FabButtons
- 用作快速撥號 FAB 的多個 FAB 按鈕的包裝器FabButton
- 單一 FAB 快速撥號按鈕FabBackdrop
- FAB 背景元素
FAB 屬性
屬性 | 類型 | 預設值 | 說明 |
---|---|---|---|
<Fab> 屬性 | |||
href | 字串 布林值 | 要載入的頁面 URL (如果已設定)。將在主要 FAB 連結上設定 href 屬性。如果是布林值 href="false" ,它不會新增 href 標籤 | |
target | 字串 | 連結目標屬性的值,例如 _blank 、_self 等。 | |
position | 字串 | right-bottom | FAB 位置。可以是下列其中一個
|
morphTo | 字串 | FAB 變形目標的 CSS 選擇器字串 | |
text | 字串 | FAB 按鈕文字。如果已指定,它將顯示為帶有文字標籤的延伸 FAB | |
tooltip | 字串 | FAB 提示工具 文字,在按鈕滑鼠移入/按下時顯示 | |
tooltipTrigger | 字串 | hover | 定義如何觸發 (開啟) 提示工具。可以是 hover 、click 或 manual |
<FabButtons> 屬性 | |||
position | 字串 | top | 快速撥號按鈕位置,可以是下列其中一個
|
<FabButton> 屬性 | |||
fabClose | 布林值 | 假 | 啟用後,按一下此按鈕將關閉 FAB |
target | 字串 | 連結目標屬性的值,例如 _blank 、_self 等。 | |
標籤 | 字串 | 按鈕文字標籤 | |
tooltip | 字串 | 按鈕 工具提示 文字,於按鈕游標移入/按下時顯示 | |
tooltipTrigger | 字串 | hover | 定義如何觸發 (開啟) 提示工具。可以是 hover 、click 或 manual |
FAB 事件
事件 | 說明 |
---|---|
<Fab> 事件 | |
click | 按一下 FAB 後觸發事件 |
<FabButton> 事件 | |
click | 按一下 FAB 快速撥號按鈕後觸發事件 |
FAB 插槽
FAB React 元件 (<Fab>
) 有額外的插槽,可供自訂元素使用
default
- 子元素會插入在主要 FAB 連結<a>
元素內。但如果子元素是FabButtons
,則會插入在主要 FAB 元素的結尾link
- 子元素會插入在主要 FAB 連結<a>
元素內root
- 子元素會插入在主要 FAB 元素的結尾text
- 子元素會插入在延伸 FAB 的文字元素內
範例
fab.jsx
import React from 'react';
import { Navbar, Page, Block, Fab, FabButton, FabButtons, Icon } from 'framework7-react';
export default () => (
<Page>
<Navbar title="Floating Action Button"></Navbar>
<Fab position="right-top" slot="fixed">
<Icon ios="f7:plus" md="material:add" />
<Icon ios="f7:xmark" md="material:close" />
<FabButtons position="left">
<FabButton>1</FabButton>
<FabButton>2</FabButton>
<FabButton>3</FabButton>
</FabButtons>
</Fab>
<Fab position="right-bottom" slot="fixed">
<Icon ios="f7:plus" md="material:add" />
<Icon ios="f7:xmark" md="material:close" />
<FabButtons position="top">
<FabButton label="Action 1">1</FabButton>
<FabButton label="Action 2">2</FabButton>
<FabButton label="Third Action">3</FabButton>
</FabButtons>
</Fab>
<Fab position="left-bottom" slot="fixed">
<Icon ios="f7:plus" md="material:add" />
<Icon ios="f7:xmark" md="material:close" />
<FabButtons position="top">
<FabButton>1</FabButton>
<FabButton>2</FabButton>
<FabButton>3</FabButton>
</FabButtons>
</Fab>
<Fab position="left-top" slot="fixed">
<Icon ios="f7:plus" md="material:add" />
<Icon ios="f7:xmark" md="material:close" />
<FabButtons position="bottom">
<FabButton>1</FabButton>
<FabButton>2</FabButton>
<FabButton>3</FabButton>
</FabButtons>
</Fab>
<Fab position="center-center" slot="fixed">
<Icon ios="f7:plus" md="material:add" />
<Icon ios="f7:xmark" md="material:close" />
<FabButtons position="center">
<FabButton>1</FabButton>
<FabButton>2</FabButton>
<FabButton>3</FabButton>
<FabButton>4</FabButton>
</FabButtons>
</Fab>
<Fab position="center-bottom" slot="fixed" text="Create">
<Icon ios="f7:plus" md="material:add" />
</Fab>
<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>
</Block>
<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>
</Block>
</Page>
);
FAB 變形
fab-morph.jsx
import React from 'react';
import { Navbar, Page, BlockTitle, Block, Fab, Link, Toolbar, Icon } from 'framework7-react';
export default () => (
<Page>
<Navbar title="Floating Action Button Morph"></Navbar>
<Toolbar tabbar icons bottom className="fab-morph-target">
<Link tabLink tabLinkActive iconIos="f7:envelope_fill" iconMd="material:email" text="Inbox" />
<Link tabLink iconIos="f7:calendar_fill" iconMd="material:today" text="Calendar" />
<Link tabLink iconIos="f7:cloud_upload_fill" iconMd="material:file_upload" text="Upload" />
</Toolbar>
<Fab position="right-bottom" morphTo=".toolbar.fab-morph-target">
<Icon ios="f7:plus" md="material:add" />
</Fab>
<Fab position="left-bottom" morphTo=".demo-fab-sheet.fab-morph-target">
<Icon ios="f7:plus" md="material:add" />
</Fab>
<Fab position="center-bottom" morphTo=".demo-fab-fullscreen-sheet.fab-morph-target">
<Icon ios="f7:plus" md="material:add" />
</Fab>
<div className="list links-list demo-fab-sheet fab-morph-target" slot="fixed">
<ul>
<li>
<a className="fab-close">Link 1</a>
</li>
<li>
<a className="fab-close">Link 2</a>
</li>
<li>
<a className="fab-close">Link 3</a>
</li>
<li>
<a className="fab-close">Link 4</a>
</li>
</ul>
</div>
<div className="demo-fab-fullscreen-sheet fab-morph-target" slot="fixed">
<BlockTitle>Choose Something</BlockTitle>
<div className="list links-list">
<ul>
<li>
<a className="fab-close">Link 1</a>
</li>
<li>
<a className="fab-close">Link 2</a>
</li>
<li>
<a className="fab-close">Link 3</a>
</li>
<li>
<a className="fab-close">Link 4</a>
</li>
</ul>
</div>
</div>
<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>
</Block>
<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>
</Block>
</Page>
);