このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
NocoBaseにおける連携ルールは、フロントエンドのUI要素のインタラクティブな動作を制御するための仕組みです。これにより、ユーザーはさまざまな条件に基づいて、UI内のブロック、フィールド、およびアクションの表示や動作ロジックを調整し、柔軟でローコードなインタラクティブ体験を実現できます。この機能は、継続的に改善・最適化されています。
連携ルールを設定することで、以下のようなことが実現できます。

条件の左側の変数は、連携ルールにおける「判断の対象」を定義するために使用されます。この変数の値に基づいて条件が評価され、連携アクションをトリガーするかどうかが決定されます。
選択可能な変数には、以下が含まれます。
✅ 左側の変数で選択できる項目は、ブロックが配置されているコンテキストによって決まります。ビジネス要件に応じて、左側の変数を適切に使用してください。
- 「現在のユーザー」は、現在ログインしているユーザーの情報を表します。
- 「現在のフォーム」は、フォームにリアルタイムで入力されている値を表します。
- 「現在のレコード」は、テーブルの行レコードなど、保存されているレコード値を表します。
演算子は、条件判断のロジック、つまり左側の変数と右側の値をどのように比較するかを設定するために使用されます。左側の変数のタイプによってサポートされる演算子は異なり、一般的な演算子は以下のとおりです。
$includes、$eq、$ne、$empty、$notEmptyなど$eq、$gt、$lt、$gte、$lteなど$isTruly、$isFalsy$match、$anyOf、$empty、$notEmptyなど✅ システムは、左側の変数のタイプに基づいて利用可能な演算子のリストを自動的に推奨し、設定ロジックが適切であることを保証します。
左側の変数と比較するために使用され、条件が満たされているかどうかを判断するための参照値となります。
サポートされる内容には、以下が含まれます。
✅ システムは、左側の変数のタイプに基づいて、右側の入力方法を自動的に調整します。例えば、
- 左側が「選択フィールド」の場合、対応するオプションセレクターが表示されます。
- 左側が「日付フィールド」の場合、日付ピッカーが表示されます。
- 左側が「テキストフィールド」の場合、テキスト入力ボックスが表示されます。
💡 右側の値(特に動的変数)を柔軟に活用することで、現在のユーザー、現在のデータ状態、コンテキスト環境に基づいた連携ロジックを構築し、より強力なインタラクティブ体験を実現できます。
ルール内の条件が満たされた場合(任意)、その下のプロパティ変更アクションが自動的に実行されます。条件が設定されていない場合は、ルールは常に満たされていると見なされ、プロパティ変更アクションが自動的に実行されます。
1つのフォームに複数の連携ルールを設定できます。複数のルール条件が同時に満たされた場合、システムはルールの設定順序に従って結果を前から順に実行し、最後の結果が最終的な実行基準となります。 例:ルール1がフィールドを「無効」に設定し、ルール2がフィールドを「編集可能」に設定している場合、両方のルールの条件が満たされると、フィールドは「編集可能」状態になります。
複数のルールの実行順序は非常に重要です。ルールを設計する際は、優先順位と相互関係を明確にし、ルールの競合を避けるようにしてください。
各ルールに対して、以下の操作を実行できます。
フィールドへの値の割り当てや条件設定では、定数だけでなく変数もサポートされています。変数リストはブロックの配置場所によって異なります。変数を適切に選択して使用することで、ビジネス要件をより柔軟に満たすことができます。変数に関する詳細については、変数を参照してください。
ブロック連携ルールを使用すると、システム変数(現在のユーザー、ロールなど)やコンテキスト変数(現在のポップアップレコードなど)に基づいて、ブロックの表示を動的に制御できます。例えば、管理者は完全な注文情報を表示できますが、カスタマーサービスロールは特定の注文データのみを表示できます。ブロック連携ルールを通じて、ロールに基づいて対応するブロックを設定し、そのブロック内で異なるフィールド、アクションボタン、データ範囲を設定できます。ログインしているロールが対象ロールである場合、システムは対応するブロックを表示します。ブロックはデフォルトで表示されるため、通常はブロックを非表示にするロジックを定義する必要があることに注意してください。
👉 詳細はこちら:ブロック/ブロック連携ルール
フィールド連携ルールは、ユーザー操作に基づいてフォームまたは詳細ブロック内のフィールドの状態を動的に調整するために使用され、主に以下が含まれます。
👉 詳細はこちら:ブロック/フィールド連携ルール
アクション連携ルールは現在、現在のレコード値や現在のフォームなどのコンテキスト変数、およびグローバル変数に基づいて、非表示/無効化などのアクション動作を制御することをサポートしています。
👉 詳細はこちら:アクション/連携ルール