コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
Essentials
SDK
API
テスト
Stripe CLI
サンプルプロジェクト
ツール
ワークベンチ
開発者ダッシュボード
Stripe Shell
Visual Studio Code をご利用の場合
機能
ワークフロー
イベントの送信先
Stripe 健全性アラートファイルのアップロード
AI ソリューション
エージェントツールキット
Model Context Protocol
セキュリティとプライバシー
セキュリティ
プライバシー
Stripe を拡張する
Build Stripe apps
    概要
    始める
    アプリを作成する
    Stripe アプリの仕組み
    サンプルアプリ
    アプリを構築する
    シークレットを保存
    API 認証方法
    認証フロー
    サーバー側のロジック
    イベントのリッスン
    さまざまな環境を処理
    サンドボックスのサポートを有効にする
    アプリの設定ページ
    UI を構築する
    アカウント登録
    アプリを配布する
    配布オプション
    アプリをアップロード
    バージョンとリリース
    アプリをテストする
    アプリを公開する
    自分のアプリを宣伝する
    ディープリンクを追加する
    インストールリンクを作成
    UI 拡張機能で役割を割り当て
    インストール後のアクション
    アプリのアナリティクス
    埋め込みコンポーネント
    サードパーティーの Stripe アプリを埋め込む
    Stripe Apps に移行
    拡張機能を移行または構築
    Stripe Apps または Stripe Connect にプラグインを移行
    参照情報
    アプリマニフェスト
    CLI
    拡張 SDK
    権限
    ビューポート
    設計パターン
    コンポーネント
      アコーディオン
      バッジ
      バナー
      BarChart
      ボックス
      ボタン
      ButtonGroup
      チェックボックス
      チップ
      ContextView
      DateField
      ディバイダー
      FocusView
      FormFieldGroup
      アイコン
      Img
      インライン
      LineChart
      Link
      リスト
      メニュー
      PropertyList
      ラジオ
      選択してください
      SettingsView
      SignInView
      Sparkline
      スピナー
      切り替える
      テーブル
      タブ
      タスクリスト
      テキスト領域
      テキストフィールド
      トースト
      ツールチップ
Use apps from Stripe
パートナー
Partner Ecosystem
パートナー認定
ホーム開発者向けリソースBuild Stripe appsComponents

Stripe Apps の Tabs コンポーネント

Tab を使用してコンテンツのセクションを表示します。

Tab (タブ) は、一度に 1 つのコンテンツパネルとして表示されるコンテンツのセクションです。現在表示されているパネルの上端に沿って、タブエレメントのリストが並べられます。

Tabs コンポーネントをアプリに追加するには、以下のようにします。

import {Tabs, Tab, TabList, TabPanel, TabPanels} from '@stripe/ui-extension-sdk/ui';
サンプルを読み込み中...
<Box css={{width: 'fill'}}> <Tabs fitted> <TabList> {[1, 2].map((i) => ( <Tab key={i} tabKey={i}> Tab {i} </Tab> ))} </TabList> <TabPanels> {[1, 2].map((i) => ( <TabPanel key={i} tabKey={i}> <Box css={{backgroundColor: 'container', padding: 'large'}}> Tab panel {i} </Box> </TabPanel> ))} </TabPanels> </Tabs> </Box>

Tabs プロパティ

プロパティータイプ

children

必須

React.ReactNode

1 つ以上の TabList コンポーネントまたは TabPanels コンポーネント。

fitted

オプション

boolean | undefined

TabList がコンテナーの幅全体を使用するかどうか。

onSelectionChange

オプション

((event: React.Key) => void) | undefined

Tab が選択されたときに起動されるコールバック。

selectedKey

オプション

React.Key | undefined

選択した Tab を制御コンポーネントとして使用する場合のキー。onSelectionChange とともに使用して、タブの選択状態を制御します。

size

オプション

("small" | "medium" | "large") | undefined

コンポーネントのサイズ。

Tab

TabList コンポーネントはコンテンツの選択に対応しています。TabList は Tab コンポーネントのコレクションで構成されます。各 Tab は、tabKey プロパティで一意に識別できます。map 関数を使用して Tab コンポーネントをレンダリングする場合も、React のルールを満たすために key を追加する必要があります。

TabList プロパティ

プロパティータイプ

children

必須

React.ReactNode

1 つ以上の Tab コンポーネント。

Tab プロパティ

プロパティータイプ

children

必須

React.ReactNode

コンポーネントのコンテンツ。

disabled

オプション

boolean | undefined

タブを無効化するかどうか。

id

オプション

string | undefined

Tabs コンポーネントの selectedKey プロパティを使用して、選択項目を制御する一意の識別子。

tabKey

オプション非推奨

代わりに id プロパティを使用してください。

(React.Key | null) | undefined

Tabs の selectedKey で使用する一意の識別子。

TabPanel

TabPanels コンポーネントは、タブ付きのコンテンツパネルの表示に対応します。TabPanels は TabPanel コンポーネントのコレクションで構成されます。各 TabPanel は、tabKey プロパティで一意に識別できます。map 関数を使用して TabPanel コンポーネントをレンダリングする場合も、React のルールを満たすために key を追加する必要があります 。

TabPanel プロパティ

プロパティータイプ

children

必須

React.ReactNode

コンポーネントのコンテンツ。

id

オプション

string | undefined

Tabs コンポーネントの selectedKey プロパティを使用して、選択項目を制御する一意の識別子。

tabKey

オプション非推奨

代わりに id プロパティを使用してください。

(React.Key | null) | undefined

Tabs の selectedKey で使用する一意の識別子。

小さな Tab

サンプルを読み込み中...
<Box css={{width: 'fill'}}> <Tabs size="small"> <TabList> {[1, 2, 3, 4, 5].map((i) => ( <Tab key={i} tabKey={i}> Tab {i} </Tab> ))} </TabList> <TabPanels> {[1, 2, 3, 4, 5].map((i) => ( <TabPanel key={i} tabKey={i}> <Box css={{backgroundColor: 'container', padding: 'large'}}> Tab panel {i} </Box> </TabPanel> ))} </TabPanels> </Tabs> </Box>

無効化された Tab

サンプルを読み込み中...
<Box css={{width: 'fill'}}> <Tabs size="large" fitted> <TabList> <Tab tabKey="1">Tab</Tab> <Tab tabKey="2">Another Tab</Tab> <Tab tabKey="3" disabled> Disabled Tab </Tab> </TabList> <TabPanels> <TabPanel tabKey="1"> <Box css={{backgroundColor: 'container', padding: 'large'}}> Test Tab Panel 1 </Box> </TabPanel> <TabPanel tabKey="2"> <Box css={{backgroundColor: 'container', padding: 'large'}}> Test Tab Panel 2 </Box> </TabPanel> <TabPanel tabKey="3"> <Box css={{backgroundColor: 'container', padding: 'large'}}> Test Tab Panel 3 </Box> </TabPanel> </TabPanels> </Tabs> </Box>

サポートされていない使用法

フラグメントのすべての子に同じキーが付与されている場合を除き、Tab はフラグメント内の条件付きコンテンツをサポートしていません。

const [result, setResult] = React.useState(null); return ( <Box css={{width: 'fill'}}> <Tabs> <TabList> <Tab tabKey="1"> <> {result ? ( <Inline>View results</Inline> ) : ( <Inline>Create results</Inline> )} </> </Tab> </TabList> <TabPanels> <TabPanel tabKey="1"> <> {result ? ( <Inline>Results</Inline> ) : ( <Inline>No results yet</Inline> )} </> </TabPanel> </TabPanels> </Tabs> </Box> )

サポートされていない方法で Tab を使用しないようにするため、フラグメントの代わりにコンポーネントを使用してください。または、フラグメントのすべての子に共有の key を付与してください。

サンプルを読み込み中...
const [result, setResult] = React.useState(null); return ( <Box css={{width: 'fill'}}> <Tabs> <TabList> <Tab tabKey="1"> <Box> {result ? ( <Inline>View results</Inline> ) : ( <Inline>Create results</Inline> )} </Box> </Tab> </TabList> <TabPanels> <TabPanel tabKey="1"> <> {result ? ( <Inline key="tab-panel-results">Results</Inline> ) : ( <Inline key="tab-panel-no-results">No results yet</Inline> )} </> </TabPanel> </TabPanels> </Tabs> </Box> )

制御タブ

Tabs の selectedKey プロパティを、Tab および TabPanel の tabKey プロパティと組み合わせて使用し、制御コンポーネントを作成します。

サンプルを読み込み中...
const [key, setSelectedKey] = React.useState<React.Key>('c'); return ( <Box css={{width: 'fill'}}> <Tabs selectedKey={key} onSelectionChange={setSelectedKey}> <TabList> {['a', 'b', 'c', 'd', 'e'].map((key) => ( <Tab key={key} tabKey={key}> Tab {key} </Tab> ))} </TabList> <TabPanels> {['a', 'b', 'c', 'd', 'e'].map((key) => ( <TabPanel key={key} tabKey={key}> <Box css={{backgroundColor: 'container', padding: 'large'}}> Tab panel {key} </Box> </TabPanel> ))} </TabPanels> </Tabs> </Box> )

参照情報

  • 従うべき設計パターン
  • アプリのスタイル設定
  • UI テスト
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc