按鈕 Svelte 組件

按鈕 Svelte 組件表示 Framework7 的 按鈕 元素。

按鈕組件

包含下列組件

按鈕屬性

按鈕組件具有與 連結 組件幾乎相同的屬性,但有少數按鈕特定的額外屬性

屬性類型預設說明
<Button> 屬性
type字串如果為 submitbuttonreset 之一,則會以 <button> 元素呈現,並具有相同的 type 屬性
tabLink字串
布林值
啟用標籤連結,並指定目標標籤的 CSS 選擇器(如果指定為字串)
tabLinkActive布林值false使此標籤連結處於活動狀態
active布林值false在分段控制元件中使用時,使此按鈕處於活動狀態。必須用於 tab-link-active
text字串按鈕文字標籤
tooltip字串按鈕 工具提示 文字,在按鈕滑鼠移入/按下時顯示
tooltipTrigger字串hover定義如何觸發(開啟)工具提示。可以是 hoverclickmanual
round布林值false使按鈕變為圓形
roundIos布林值false僅為 iOS 主題使按鈕變為圓形
roundMd布林值false僅為 MD 主題使按鈕變為圓形
large布林值false使按鈕變大
largeIos布林值false僅為 iOS 主題使按鈕變大
largeMd布林值false僅為 MD 主題使按鈕變大
small布林值false使按鈕變小
smallIos布林值false僅為 iOS 主題使按鈕變小
smallMd布林值false僅為 MD 主題使按鈕變小
fill布林值false使按鈕填滿顏色
fillIos布林值false僅為 iOS 主題使按鈕填滿顏色
fillMd布林值false僅為 MD 主題使按鈕填滿顏色
tonal布林值false使按鈕為色調樣式
tonalIos布林值false僅為 iOS 主題使按鈕為色調樣式
tonalMd布林值false僅為 MD 主題使按鈕為色調樣式
raised布林值false使按鈕凸起
raisedIos布林值false僅在 iOS 主題中使按鈕凸起
raisedMd布林值false僅在 MD 主題中使按鈕凸起
outline布林值false使按鈕為外框
outlineIos布林值false僅在 iOS 主題中使按鈕為外框
outlineMd布林值false僅在 MD 主題中使按鈕為外框
<Button> 與預載器相關的屬性
preloader布林值false啟用按鈕具有預載器
載入中布林值false控制按鈕狀態,顯示/隱藏預載器,隱藏/顯示按鈕文字(切換按鈕至載入狀態)
preloaderColor字串按鈕的預載器顏色
preloaderSize數字
字串
按鈕的預載器大小
<Button> 圖示相關屬性
iconSize字串
數字
圖示大小,單位為 px
iconColor字串圖示顏色。為 預設顏色 之一
icon字串自訂圖示類別
iconF7字串F7 Icons 字型圖示名稱
iconMaterial字串Material Icons 字型圖示名稱
iconIos字串在使用 iOS 主題時使用的圖示。由圖示家族和圖示名稱組成,以冒號分隔,例如:f7:house
iconMd字串在使用 MD 主題時使用的圖示。由圖示家族和圖示名稱組成,以冒號分隔,例如:material:home
<Button> 導覽/路由相關屬性
href字串
布林值
#要載入的頁面 URL。如果布林值為 href="false",則不會新增 href 標籤
target字串連結目標屬性的值,例如:_blank_self
view字串要載入頁面的檢視 CSS 選擇器。或為 current,以在目前檢視中載入
external布林值啟用以繞過 Framework7 的連結點擊處理程式
back布林值啟用返回導覽連結
openIn字串允許將頁面路由開啟為視窗或面板。可以為 popuploginScreensheetpopoverpanel
force布林值強制載入頁面,並忽略歷史記錄中的前一頁(與 back 屬性一起使用)
reloadCurrent布林值重新載入新頁面,而非目前活動的頁面
reloadPrevious布林值用路由中的新頁面取代歷史記錄中的前一頁
reloadAll布林值載入新頁面,並從歷史記錄和 DOM 中移除所有前一頁
reloadDetail布林值在主從檢視中重新載入詳細頁面
animate布林值停用頁面動畫
transition字串自訂頁面轉場 的名稱
ignoreCache布林值忽略快取
routeTabId字串可路由標籤 id
routeProps物件包含將傳遞至目標路由元件的其他屬性的物件
preventRouter布林值false如果設定,則 Framework7 路由器不會處理
<Button> 動作相關屬性
panelOpen字串
布林值
點選時要開啟的面板 CSS 選擇器。或者如果 DOM 中只有左側或右側面板,則可以是 leftright
panelClose字串
布林值
點選時關閉面板
panelToggle字串
布林值
點選時要切換的面板 CSS 選擇器。或者如果 DOM 中只有左側或右側面板,則可以是 leftright
actionsOpen字串
布林值
點選時要開啟的動作表單 CSS 選擇器
actionsClose字串
布林值
點選時要關閉的動作表單 CSS 選擇器。或者布林屬性,用於關閉目前開啟的動作表單
popupOpen字串
布林值
點選時要開啟的快顯視窗 CSS 選擇器
popupClose字串
布林值
點選時要關閉的快顯視窗 CSS 選擇器。或者布林屬性,用於關閉目前開啟的快顯視窗
popoverOpen字串
布林值
點選時要開啟的浮動提示 CSS 選擇器
popoverClose字串
布林值
點選時要關閉的浮動提示 CSS 選擇器。或者布林屬性,用於關閉目前開啟的浮動提示
sheetOpen字串
布林值
點選時要開啟的表單模式 CSS 選擇器
sheetClose字串
布林值
點選時要關閉的表單模式 CSS 選擇器。或者布林屬性,用於關閉目前開啟的表單模式
loginScreenOpen字串
布林值
點選時要開啟的登入畫面 CSS 選擇器
loginScreenClose字串
布林值
點選時要關閉的登入畫面 CSS 選擇器。或者布林屬性,用於關閉目前開啟的登入畫面
sortableEnable字串
布林值
點選時要啟用的 Sortable 清單 CSS 選擇器
sortableDisable字串
布林值
點選時要停用的 Sortable 清單 CSS 選擇器。或者布林屬性,用於關閉目前開啟的 Sortable 清單
sortableToggle字串
布林值
點選時要切換的 Sortable 清單 CSS 選擇器。或者布林屬性,用於切換目前開啟/關閉的 Sortable 清單
searchbarEnable字串
布林值
點選時要啟用的可展開搜尋欄 CSS 選擇器。或者布林屬性,用於啟用第一個找到的搜尋欄
searchbarDisable字串
布林值
可於點選時停用的可展開搜尋列的 CSS 選擇器。或停用第一個找到的搜尋列的布林屬性
searchbarToggle字串
布林值
可於點選時切換的可展開搜尋列的 CSS 選擇器。或切換第一個找到的搜尋列的布林屬性
searchbarClear字串
布林值
可於點選時清除的可展開搜尋列的 CSS 選擇器。或清除第一個找到的搜尋列的布林屬性
cardOpen字串
布林值
可於點選時開啟的可展開卡片的 CSS 選擇器。或開啟第一個找到的可展開卡片的布林值
cardClose字串
布林值
可於點選時關閉的可展開卡片的 CSS 選擇器。或關閉目前已開啟的可展開卡片的布林屬性
cardPreventOpen布林值點選具有此屬性的元素不會開啟其父可展開卡片

按鈕事件

事件說明
<Button> 事件
click點選按鈕後觸發事件

範例

buttons.svelte
<script>
  import {
    Page,
    Navbar,
    BlockTitle,
    Block,
    Button,
  } from 'framework7-svelte';

  let isLoading1 = false;
  let isLoading2 = false;

  const load1 = () => {
    if (isLoading1) return;
    isLoading1 = true;
    setTimeout(() => {
      isLoading1 = false;
    }, 4000);
  };

  const load2 = () => {
    if (isLoading2) return;
    isLoading2 = true;
    setTimeout(() => {
      isLoading2 = false;
    }, 4000);
  };
</script>

<!-- svelte-ignore a11y-invalid-attribute -->
<Page>
  <Navbar title="Buttons" />

  <BlockTitle>Usual Buttons</BlockTitle>
  <Block strong outlineIos>
    <div class="grid grid-cols-3 grid-gap">
      <Button>Button</Button>
      <Button>Button</Button>
      <Button round>Round</Button>
    </div>
  </Block>

  <BlockTitle>Tonal Buttons</BlockTitle>
  <Block strong outlineIos>
    <div class="grid grid-cols-3 grid-gap">
      <Button tonal>Button</Button>
      <Button tonal>Button</Button>
      <Button tonal round>Round</Button>
    </div>
  </Block>

  <BlockTitle>Fill Buttons</BlockTitle>
  <Block strong outlineIos>
    <div class="grid grid-cols-3 grid-gap">
      <Button fill>Button</Button>
      <Button fill>Button</Button>
      <Button fill round>Round</Button>
    </div>
  </Block>

  <BlockTitle>Outline Buttons</BlockTitle>
  <Block strong outlineIos>
    <div class="grid grid-cols-3 grid-gap">
      <Button outline>Button</Button>
      <Button outline>Button</Button>
      <Button outline round>Round</Button>
    </div>
  </Block>

  <BlockTitle>Raised Buttons</BlockTitle>
  <Block strong outlineIos>
    <p class="grid grid-cols-3 grid-gap">
      <Button raised>Button</Button>
      <Button raised fill>Fill</Button>
      <Button raised outline>Outline</Button>
    </p>
    <p class="grid grid-cols-3 grid-gap">
      <Button raised round>Round</Button>
      <Button raised fill round>Fill</Button>
      <Button raised outline round>Outline</Button>
    </p>
  </Block>

  <BlockTitle>Large Buttons</BlockTitle>
  <Block strong outlineIos>
    <p class="grid grid-cols-2 grid-gap">
      <Button large>Button</Button>
      <Button large fill>Fill</Button>
    </p>
    <p class="grid grid-cols-2 grid-gap">
      <Button large raised>Raised</Button>
      <Button large raised fill>Raised Fill</Button>
    </p>
    <p class="grid grid-cols-2 grid-gap">
      <Button large round>Round</Button>
      <Button large round fill>Round Fill</Button>
    </p>
  </Block>

  <BlockTitle>Small Buttons</BlockTitle>
  <Block strong outlineIos>
    <p class="grid grid-cols-3 grid-gap">
      <Button small>Button</Button>
      <Button small outline>Outline</Button>
      <Button small fill>Fill</Button>
    </p>
    <p class="grid grid-cols-3 grid-gap">
      <Button small round>Button</Button>
      <Button small outline round>Outline</Button>
      <Button small fill round>Fill</Button>
    </p>
  </Block>

  <BlockTitle>Preloader Buttons</BlockTitle>
  <Block strong outlineIos>
    <p class="grid grid-cols-3 grid-gap">
      <Button preloader loading={isLoading1} onClick={load1} large>Load</Button>
      <Button preloader loading={isLoading2} onClick={load2} large fill>Load</Button>
    </p>
  </Block>

  <BlockTitle>Color Buttons</BlockTitle>
  <Block strong outlineIos>
    <div class="grid grid-cols-3 grid-gap">
      <Button color="red">Red</Button>
      <Button color="green">Green</Button>
      <Button color="blue">Blue</Button>
    </div>
  </Block>

  <BlockTitle>Color Fill Buttons</BlockTitle>
  <Block strong outlineIos>
    <p class="grid grid-cols-3 grid-gap">
      <Button color="red">Red</Button>
      <Button color="green">Green</Button>
      <Button color="blue">Blue</Button>
    </p>
    <p class="grid grid-cols-3 grid-gap">
      <Button color="pink">Pink</Button>
      <Button color="yellow">Yellow</Button>
      <Button color="orange">Orange</Button>
    </p>
    <p class="grid grid-cols-3 grid-gap">
      <Button color="black">Black</Button>
      <Button color="white">White</Button>
    </p>
  </Block>
</Page>