フォーム周りのカスタムパーツの作り方の解説をします。フォームのカスタムパーツは、プロジェクト内だけでなく汎用的なコンポーネントを自作して外部に配布する王道なコンポーネントな気がします。普通のコンポーネントと同じようなノリで作っているとハマってしまったところがいくつかあったので、それらを紹介します。MyLoginForm)</script>例えば、ログインフォームをコンポーネントとして作ったとします。ブラウザが記憶し、次回からは自動で入力されている挙動です。立っていたりするので、おそらく時間の問題で解決されると思います。修正されるまでのスマートな回避方法は僕が考えた限りではなさそうです。されないということです。違うから起こる現象です。これを解決する方法は主に2つあります。いうイベントが利用できるようになりました。これはフォームを送信する直前に発火するイベントです。オブジェクトを提供してくれます。送信するフォームの内容を自由にここで操作が可能です。することで送信しています。使って通常のフォームパーツと同じように扱うようにするやり方です。こちらのほうが、汎用性は高いです。実装しなければならない量は増えます。扱ってくれるようになります。フォームに値をセットすることができます。入力パーツとして動きます。)を使ってセットしてあげれば良いです。通常のフォームパーツと同じにするという意味では以下のように構成を作ってあげたほうが良いです。インターフェイスを見てみてください。これらは必要であれば自前で実装をする必要があります(もしくは継承をする)。入力内容をリストアする通常の入力フォームはおそらく他のページへ遷移などをして戻ってきても、入力した内容が残った状態になっているかと思います。作成したパーツは勝手にリストアをしてくれません。自前でリストアをする必要があります。FormAssociatedInput)自前といっても実装は簡単です。いうイベントが用意されているので実装して値をセットするだけです。試してみたところ値を取得することができませんでした...。やり方が悪いのかもしれません。ようなフォームライフサイクルは以下の4つがあります。formAssociatedCallbackformDisabledCallbackformResetCallbackformStateRestoreCallback入力内容をバリデーションするバリデーションのロジック自体は自前で実装するのですが、バリデーションのメッセージを表示できるようになるようです。時点ではまだ実装はされていなそうです。フォームパーツを作っていく際にハマりそうなポイントを解説しました。Hacking!株式会社ベーシックエンジニア募集QiitaWantedly。