メインコンテンツまでスキップ

利用者選択・組織選択の値

利用者選択(MemberSelect)・組織選択(OrganizationSelect)フィールドの値は、管理コードと表示名の配列です。単一選択の場合も配列になります。

const record = atPocket.app.record.get();

record['field-4'].value;
// [{ code: 'user01', name: '山田 太郎' }, { code: 'user02', name: '鈴木 花子' }]
プロパティ説明
code管理コード
name表示名

値の設定

設定は code だけで行えます。name は設定時に無視され、解決した結果の名称が使われます。

const record = atPocket.app.record.get();

record['field-4'].value = [{ code: 'user01' }, { code: 'user02' }]; // 設定
// record['field-4'].value = []; // クリア

await atPocket.app.record.set(record);
  • 管理コードの解決には通信が発生するため、結果を参照する場合は await してください。選択が変わっていない場合とクリア([])の場合は通信しません
  • 管理コードを解決できない場合は、元の選択を維持します。複数選択では成功した要素だけが選択されます
解決の失敗を検知する手段はありません

連携フィールドの app.record.lookup.error に相当するイベントはありません。設定する管理コードは事前にご確認ください。

変更の検知

利用者選択・組織選択の変更でも change イベントが発火します(モバイル画面を含む)。

atPocket.events.on('app.record.edit.change.field-4', (event) => {
const codes = event.record['field-4'].value.map((v) => v.code);
console.log('選択された管理コード:', codes);
return event;
});

注意事項

一覧の編集ビューは対象外です

レコード一覧の編集ビューで取得した値は、この形式になりません。レコード詳細・作成・編集画面の app.record.get() とは値の形が異なります。

フィールドタイプ名について

利用者選択のフィールドタイプ名は、現時点では MemberSelect を返します。UserSelect へのリネームは計画段階です。

関連ページ