5.7. 動的場
ユーザーの選択に基づいて、動的なフィールドが表示されたり消えたりします。条件付きフィールド可視性を定義するには、`dependencies` キーワードを `allOf` および `if/then` と組み合わせて使用します。これにより、あるフィールドで値を選択すると、その選択に関連する追加のフィールドが表示されるようなフォームを作成できます。
動的フィールドは次のような場合に役立ちます。
- ユーザーが有効にした場合にのみ、詳細オプションを表示します。
- リソースの種類やカテゴリーの選択に基づいて、異なる設定フィールドを表示します。
- ユーザーが特定のオプションを選択した際に、理由や正当性を求める。
5.7.1. トグルに基づいてフィールドを表示または非表示にする リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ブール値の 切り替えフィールドを使用して、追加フィールドのグループを表示または非表示にします。
この例では、詳細オプションを表示を選択すると、追加のフィールドが 1 つ表示されます。トグルがオフの場合、フィールドは非表示になり、送信されません。
parameters:
- title: Time server settings
required:
- ntpServers
properties:
ntpServers:
title: NTP servers
type: string
default: 0.rhel.pool.ntp.org, 1.rhel.pool.ntp.org
showAdvanced:
title: Show advanced options?
type: boolean
default: false
dependencies:
showAdvanced:
allOf:
- if:
properties:
showAdvanced:
const: true
then:
properties:
maxSyncDelay:
type: number
title: Max sync delay (ms)
default: 500
showAdvanced が true の場合、フォームに maxSyncDelay が表示されます。showAdvanced が false の場合、そのフィールドは非表示になります。