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={アクションメソッド} で値の変更を拾って、アクションメソッド内で値を変更することが基本となります。
コメント