microCMS

セレクトフィールド

セレクトフィールドは、あらかじめ管理画面で定義した選択肢の中から、任意の値を一つ、または複数選択して入力するためのフィールドです。
商品のサイズ展開(S/M/L)や都道府県など、決まった選択肢の中からデータを分類・属性付けしたい場合に適しています。

データの入稿方法

単一選択の場合(複数選択がOFF)

セレクトフィールド(単一選択)のUI。プルダウン形式。
スキーマ設定で「複数選択」をOFFにしている場合、プルダウン(ドロップダウン)形式で表示されます。

  • フィールドをクリックすると、定義済みの選択肢がリストで表示されます。
  • リストの中から、該当する項目を一つ選択します。

複数選択の場合(複数選択がON)

セレクトフィールド(複数選択)のUI。チェックボックス形式
スキーマ設定で「複数選択」をONにしている場合、チェックボックス形式で表示されます。

  • 定義済みの選択肢が一覧で表示されます。
  • 該当する項目のチェックボックスをクリックして選択します。


API、CSVを利用した入稿については以下のドキュメントをご参照ください。

POST /api/v1/{endpoint}
https://document.microcms.io/content-api/post-content#hb5011814b9
コンテンツのCSVインポート
https://document.microcms.io/manual/csv-import#h2b3036ae9c

制限事項/注意事項

  • 設定できる項目数の上限は設けておりません。
  • ブログのカテゴリとして利用する場合は、コンテンツ参照フィールドで実装するケースと比較してデメリットがあります。詳細はヘルプ記事「ブログやお知らせに、カテゴリやタグを作成する方法は?」をご参照ください。
  • APIレスポンスの配列順は、スキーマでの定義順ではなく、入稿画面で選択した順番となります。

設定項目

説明

必須項目

設定をONにすると入稿時の入力が必須となります。

説明文

入稿画面に表示する説明文です。

選択肢

選択肢を項目を追加・編集・削除できます。

複数選択

複数選択を許可するかどうかを設定します。新規作成時のみ設定可能で、途中からの変更はできません。

初期値

コンテンツを新規作成した際に、デフォルトで選択状態にしておく項目を指定できます。

GET APIのレスポンス形式

詳細は以下のドキュメントをご参照ください。

GET APIのフィールドごとのレスポンス形式
https://document.microcms.io/content-api/get-api-field-responses#hba92b2a7ca

フロントエンドでの利用方法

セレクトフィールドは複数選択の設定に関わらず常に配列として取得されるため、フロントエンドの実装ではループ処理を用いて選択された項目を表示します。
以下はNext.jsの実装例です。

export default async function Page({ params }) {
  const { slug } = await params;

  // microCMS JavaScript SDK(https://github.com/microcmsio/microcms-js-sdk)を使用してデータを取得
  const data = await client.getListDetail({
    endpoint: "blog",
    contentId: slug,
  });

  return (
    <main>
      {/* selectField はフィールドIDです。実際のフィールドIDに置き換えてください */}
      {data.selectField.map((tag, index) => (
        <span key={index}>{tag}</span>
      ))}
    </main>
  );
}