ボタン React コンポーネント

Button React コンポーネントは、Framework7 の ボタン 要素を表します。

ボタンコンポーネント

以下のコンポーネントが含まれています

ボタンのプロパティ

ボタンコンポーネントは、リンク コンポーネントとほぼ同じプロパティを持ちますが、いくつかの追加のボタン固有のプロパティがあります。

プロパティデフォルト説明
<Button> プロパティ
type文字列submitbutton、またはreset のいずれかの場合、同じtype属性を持つ<button>要素としてレンダリングされます。
tabLink文字列
ブール値
タブリンクを有効にし、ターゲットタブのCSSセレクタを指定します(文字列として指定した場合)。
tabLinkActiveブール値falseこのタブリンクをアクティブにします。
activeブール値falseセグメントで使用する場合、このボタンをアクティブ状態にします。tab-link-activeの代わりに使用してください。
text文字列ボタンのテキストラベル
tooltip文字列ボタンのホバー/プレス時に表示するツールチップテキスト
tooltipTrigger文字列hoverツールチップのトリガー(開く)方法を定義します。hoverclick、またはmanualが可能です。
roundブール値falseボタンを丸くします。
roundIosブール値falseiOSテーマのみでボタンを丸くします。
roundMdブール値falseMDテーマのみでボタンを丸くします。
largeブール値false大きなボタンにします。
largeIosブール値falseiOSテーマのみで大きなボタンにします。
largeMdブール値falseMDテーマのみで大きなボタンにします。
smallブール値false小さなボタンにします。
smallIosブール値falseiOSテーマのみで小さなボタンにします。
smallMdブール値falseMDテーマのみで小さなボタンにします。
fillブール値falseボタンを塗りつぶされた色にします。
fillIosブール値falseiOSテーマのみでボタンを塗りつぶされた色にします。
fillMdブール値falseMDテーマのみでボタンを塗りつぶされた色にします。
tonalブール値falseトーンスタイルのボタンにします。
tonalIosブール値falseiOSテーマのみでトーンスタイルのボタンにします。
tonalMdブール値falseMDテーマのみでトーンスタイルのボタンにします。
raisedブール値falseボタンを盛り上げます。
raisedIosブール値falseiOSテーマのみでボタンを盛り上げます。
raisedMdブール値falseMDテーマのみでボタンを盛り上げます。
outlineブール値falseボタンをアウトラインにします。
outlineIosブール値falseiOSテーマのみでボタンをアウトラインにします。
outlineMdブール値falseMDテーマのみでボタンをアウトラインにします。
<Button> プリローダー関連のプロパティ
preloaderブール値falseボタンにプリローダーを有効にします。
loadingブール値falseプリローダーの表示/非表示とボタンテキストの非表示/表示を制御します(ボタンをローディング状態に切り替えます)。
preloaderColor文字列ボタンのプリローダーの色
preloaderSize数値
文字列
ボタンのプリローダーのサイズ
<Button> アイコン関連のプロパティ
iconSize文字列
数値
px単位のアイコンサイズ
iconColor文字列デフォルトの色のいずれか。
icon文字列カスタムアイコンクラス
iconF7文字列F7アイコンフォントアイコンの名前
iconMaterial文字列マテリアルアイコンフォントアイコンの名前
iconIos文字列iOSテーマが使用されている場合に使用するアイコン。例:f7:houseのように、アイコンファミリーとアイコン名がコロンで区切られています。
iconMd文字列MDテーマが使用されている場合に使用するアイコン。例:material:homeのように、アイコンファミリーとアイコン名がコロンで区切られています。
<Button> ナビゲーション/ルーター関連のプロパティ
href文字列
ブール値
#読み込むページのURL。ブール値href="false"の場合、hrefタグは追加されません。
target文字列リンクのターゲット属性の値(例:_blank_selfなど)。
view文字列ページを読み込むビューのCSSセレクタ。または、現在のビューに読み込む場合はcurrent
externalブール値Framework7のリンククリックハンドラーをバイパスします。
backブール値戻るナビゲーションリンクを有効にします。
openIn文字列モーダルまたはパネルとしてページルートを開きます。popuploginScreensheetpopover、またはpanelを指定できます。
forceブール値ページを強制的に読み込み、履歴の前のページを無視します(backプロパティと併用)。
reloadCurrentブール値現在アクティブなページの代わりに新しいページを再読み込みします。
reloadPreviousブール値履歴内の前のページを、ルートからの新しいページに置き換えます。
reloadAllブール値新しいページを読み込み、履歴とDOMから前のすべてのページを削除します。
reloadDetailブール値マスターディテールビューで詳細ページを再読み込みします。
animateブール値ページアニメーションを無効にします。
transition文字列カスタムページトランジションの名前
ignoreCacheブール値キャッシュを無視します。
routeTabId文字列ルーティング可能なタブID
routePropsオブジェクトターゲットルートコンポーネントに渡される追加のプロパティを含むオブジェクト
preventRouterブール値false設定されている場合、Framework7ルーターによって処理されません。
<Button> アクション関連のプロパティ
panelOpen文字列
ブール値
クリック時に開くパネルのCSSセレクタ。または、DOMに左パネルまたは右パネルのみが存在する場合はleftまたはright
panelClose文字列
ブール値
クリック時にパネルを閉じます。
panelToggle文字列
ブール値
クリック時に切り替えるパネルのCSSセレクタ。または、DOMに左パネルまたは右パネルのみが存在する場合はleftまたはright
actionsOpen文字列
ブール値
クリック時に開くアクションシートのCSSセレクタ
actionsClose文字列
ブール値
クリック時に閉じるアクションシートのCSSセレクタ。または、現在開いているアクションシートを閉じるブール値プロパティ。
popupOpen文字列
ブール値
クリック時に開くポップアップのCSSセレクタ
popupClose文字列
ブール値
クリック時に閉じるポップアップのCSSセレクタ。または、現在開いているポップアップを閉じるブール値プロパティ。
popoverOpen文字列
ブール値
クリック時に開くポップオーバーのCSSセレクタ
popoverClose文字列
ブール値
クリック時に閉じるポップオーバーのCSSセレクタ。または、現在開いているポップオーバーを閉じるブール値プロパティ。
sheetOpen文字列
ブール値
クリック時に開くシートモーダルのCSSセレクタ
sheetClose文字列
ブール値
クリック時に閉じるシートモーダルのCSSセレクタ。または、現在開いているシートモーダルを閉じるブール値プロパティ。
loginScreenOpen文字列
ブール値
クリック時に開くログイン画面のCSSセレクタ
loginScreenClose文字列
ブール値
クリック時に閉じるログイン画面のCSSセレクタ。または、現在開いているログイン画面を閉じるブール値プロパティ。
sortableEnable文字列
ブール値
クリック時に有効にするソート可能なリストのCSSセレクタ
sortableDisable文字列
ブール値
クリック時に無効にするソート可能なリストのCSSセレクタ。または、現在開いているソート可能なリストを閉じるブール値プロパティ。
sortableToggle文字列
ブール値
クリック時に切り替えるソート可能なリストのCSSセレクタ。または、現在開いている/閉じているソート可能なリストを切り替えるブール値プロパティ。
searchbarEnable文字列
ブール値
クリック時に有効にする展開可能な検索バーのCSSセレクタ。または、最初に検出された検索バーを有効にするブール値プロパティ。
searchbarDisable文字列
ブール値
クリック時に無効にする展開可能な検索バーのCSSセレクタ。または、最初に検出された検索バーを無効にするブール値プロパティ。
searchbarToggle文字列
ブール値
クリック時に切り替える展開可能な検索バーのCSSセレクタ。または、最初に検出された検索バーを切り替えるブール値プロパティ。
searchbarClear文字列
ブール値
クリック時にクリアする展開可能な検索バーのCSSセレクタ。または、最初に検出された検索バーをクリアするブール値プロパティ。
cardOpen文字列
ブール値
クリック時に開く展開可能なカードのCSSセレクタ。または、最初に検出された展開可能なカードを開くブール値。
cardClose文字列
ブール値
クリック時に閉じる展開可能なカードのCSSセレクタ。または、現在開いている展開可能なカードを閉じるブール値プロパティ。
cardPreventOpenブール値このプロパティを持つ要素をクリックしても、親の展開可能なカードは開きません。

ボタンイベント

イベント説明
<Button> イベント
clickボタンをクリックした後にトリガーされるイベント

buttons.jsx
import React, { useState } from 'react';
import { Navbar, Page, BlockTitle, Block, Button } from 'framework7-react';

export default () => {
  const [isLoading1, setIsLoading1] = useState(false);
  const [isLoading2, setIsLoading2] = useState(false);

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

  return (
    <Page>
      <Navbar title="Buttons" />

      <BlockTitle>Usual Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="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 className="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 className="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 className="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 className="grid grid-cols-3 grid-gap">
          <Button raised>Button</Button>
          <Button raised fill>
            Fill
          </Button>
          <Button raised outline>
            Outline
          </Button>
        </p>
        <p className="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 className="grid grid-cols-2 grid-gap">
          <Button large>Button</Button>
          <Button large fill>
            Fill
          </Button>
        </p>
        <p className="grid grid-cols-2 grid-gap">
          <Button large raised>
            Raised
          </Button>
          <Button large raised fill>
            Raised Fill
          </Button>
        </p>
      </Block>

      <BlockTitle>Small Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-3 grid-gap">
          <Button small>Button</Button>
          <Button small outline>
            Outline
          </Button>
          <Button small fill>
            Fill
          </Button>
        </p>
        <p className="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 className="grid grid-cols-2 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 className="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 className="grid grid-cols-3 grid-gap">
          <Button color="red">Red</Button>
          <Button color="green">Green</Button>
          <Button color="blue">Blue</Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button color="pink">Pink</Button>
          <Button color="yellow">Yellow</Button>
          <Button color="orange">Orange</Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button color="black">Black</Button>
          <Button color="white">White</Button>
        </p>
      </Block>
    </Page>
  );
};