Lightning Web Component でレコードの入力フォームを作成する際、lightning-input-field を使うことが多いと思います。
しかし入力フォームは何でも lightning-input-field を使えば良いと思っていると、意図せず入力できないなどの問題が起きるので注意が必要です。
オブジェクト/項目の作成・編集権限がない場合、入力できなくなる
lightning-input-field を使って入力フォームを作成した場合、オブジェクト/項目の作成・編集権限がない項目については値の入力ができなくなります。
レコードを作成する際にはそれで良いと思いますが、検索条件の入力部分で使用するなど、権限の影響が出ないようにしたい時は困ります。
回避策
基本的に lightning-input-field は lightning-input 等で代用可能です。
| 項目のタイプ | 代替案 | プロパティ等 |
|---|---|---|
| テキスト | lightning-input | |
| チェックボックス | lightning-input | type=”checkbox” |
| 日付 | lightning-input | type=”date” |
| メール | lightning-input | type=”email” |
| 数値 | lightning-input | type=”number” |
| 選択リスト | lightning-combobox | |
| 複数選択リスト | lightning-dual-listbox |
入力された値の保存については、onchange={アクションメソッド} で値の変更を拾って、アクションメソッド内で値を変更することが基本となります。


コメント