新規投稿
フォローする

フォームブリッジのフィールドの非活性について

お世話になっております。

フォームブリッジの画面表示イベントにてjavascriptを使ってある条件の場合のみフィールドを非活性したいのですが、方法がわかりません。

イベント発火時のstateのどの部分に設定をすればフィールドを非活性にできるのでしょうか?

それとも直接DOMを操作するなどするしかないのでしょうか?

どなたか知っている方がいらっしゃいましたら、ご教授くださいませ。

0

4件のコメント

Avatar
落合 雄一

state.fields にフィールドが配列で置かれていますので、その中から非活性化したいフィールドに対して hide を true にすることで非表示にできます。

 

state.fields[3] を非活性化したい場合は、 state.fields[3].hide = true とすると非表示になります。

 

なお、このカスタマイズではフィールドを非表示にするだけで、設定されている値やバリデーションなどは生きています。

値をクリアしたい場合は、対象フィールドの record の value も変更する必要があります。

 

開発者ツールのコンソールに state を出力してみて、データ構造を確認されると、開発が進むかと思います。

 

以上、参考になりますでしょうか?

1
Avatar
g_furu

落合様

ご回答いただき有難うございます。

ですが私のやりたいこととしましては、非表示ではなくフィールドの非活性(入力不可など)です。

fieldsのプロパティの中には「disable」のような項目が見当たらないのですが、

state内のプロパティを操作して非活性にさせることは可能でしょうか?

0
Avatar
落合 雄一

disable というプロパティはありません。

入力不可であれば、editable を false にするとできます。

 

以上、参考になりますでしょうか?

0
Avatar
g_furu

落合様

早い返信をいただき有難うございます。

editable を false にすることで、無事想定通りに制御を行うことができました。

非常に助かりました。

0
ログインしてコメントを残してください。