> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# データ連動

> 本ドキュメントでは、フォームにデータ連動機能を設定する方法について、適用シーン、設定手順、およびサポートされるデータタイプを紹介します。また、プルダウン単一選択コンポーネントの特殊文字対応に関する最適化情報とよくある質問への回答も提供します。

## 1. はじめに

### 1.1 概要

フォーム内のあるフィールドのデータが変化すると、同じフォーム内の別のフィールドのデータもそれに応じて変化します。この機能は通常、コンポーネントのデフォルト値を設定する際に使用されます。

### 1.2 利用シーン

学年とクラスの間でデータ連動を構築してみましょう。

**クラステーブル**

| 学年 | クラス |
| -- | --- |
| 1年 | 1組  |
| 1年 | 2組  |
| 1年 | 3組  |
| 2年 | 1組  |
| 2年 | 2組  |

生徒を入学させる際、対応するクラスに割り当てたいと考えます。どのように実現すればよいでしょうか。

## 2. データ連動の設定項目

**関連するテーブル**：関連付けるテーブルを選択します。

* 現在のアプリ：現在のフォームと同じアプリに属する他のフォーム。フォームは自身をデータ連動のソースとして使用することはできません。
* クロスアプリ：作成済みのクロスアプリデータセットフォームを選択できます。詳細は、[アプリ間のフォームデータ取得](/ja/yida/form/gv4bgx)を参照してください。

**関連済みフィールドの設定**：現在のフォームフィールド「商品名」の値が、関連するテーブルのフィールド「商品名」の値と等しい場合、現在のフォームフィールド「数量」の値には、関連するテーブルのフィールド「在庫数量」の値が表示されます。

データ連動を設定します。

## 3. データ連動に対応するコンポーネントタイプ

**注意：住所コンポーネントと関連フォームコンポーネントは、フィルター検索ルールとしてのみ使用できます。関連フォームは、その中で設定されたメイン情報フィールドを参照します。**

| **ソースコンポーネントタイプ** | **ターゲットコンポーネントタイプ**                |
| ----------------- | ---------------------------------- |
| 選択                | 選択、一行テキストドロップダウン、一行テキスト、数値         |
| 一行テキストドロップダウン     | 選択、一行テキストドロップダウン、一行テキスト、数値         |
| 複数選択              | 複数選択、複数選択ドロップダウン                   |
| 複数選択ドロップダウン       | 複数選択、複数選択ドロップダウン                   |
| 一行テキスト            | 選択、一行テキストドロップダウン、一行テキスト、数値         |
| 複数行テキスト           | 選択、一行テキストドロップダウン、一行テキスト、複数行テキスト、数値 |
| 数値                | 数値                                 |
| 日付                | 日付                                 |
| ユーザー              | ユーザー                               |
| 住所                | 住所                                 |
| 部門                | 部門                                 |
| 画像アップロード          | 画像アップロード                           |
| 関連フォーム            | 関連フォーム                             |

## 4. 一行テキストドロップダウンのデータ連動条件における特殊文字対応の強化

* 以前：ターゲットデータフィールドに特殊文字が含まれていた場合、連動が失敗し、ビジネスロジックを実行できませんでした。
* 現在：「and」「/」などの特殊文字を含むターゲットデータも正しくマッチングできます。

一行テキストドロップダウンの設定ビューです。

関連付けるターゲットデータです。

## 5. FAQ

### 5.1 ソーステーブルにデータがあるにもかかわらず、連動データが表示されない

データ連動が返す結果には件数制限があり、返された結果内での検索は現在対応していません。ソーステーブルに条件を満たすレコードが多数存在する場合、特に重複値が多い場合、意図した結果が連動に表示されないことがあります。

重複排除を有効化することで、結果内の重複レコードを削減し、より有意義な連動データを表示できるようになります。

最終結果です。

### 5.2 データ連動を自動的にトリガーする方法

<Warning>
  **注意：この方法は、メインフォームコンポーネントの変更によって、メインフォーム単体またはサブテーブル単体のデータ連動をトリガーするシーンにのみ適用されます。**
</Warning>

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
/* 更新時間を連動でバインド */
export function didMount() {
  const instanceData = this.utils.getFormInstanceData();
  const { flowData = {} } = instanceData;
  const { editMode, viewMode } = flowData;
  if (viewMode === false && editMode === true) {
    this.$('textField_vq5mqtb').getProps().onChange();
    this.utils.toast({
      title: '更新しました',
      type: 'success'
    })
  }
}
```
