対話要素:モデルとポップアップへの新しいアプローチ
3030 ワード
おい、人々!
最近では、ダイアログHTML要素は、すべての近代的なブラウザエンジンで安定し、あなたのプロジェクトで今すぐ安全に使用することができます.
あなたが求めるこの要素についてとても興味深いものは何ですか?
これは簡単にほんの数分であなたのWebアプリケーションのためのmodals/ポップアップを作成するために使用することができます、この要素はそれの行動を制御するために使用できるいくつかのメソッドを公開し、完全にカスタマイズ可能です.
これは反応のポータルに大きな代替手段として使用することができます.
最初にバニラJSユースケースを見て、カスタムコンポーネントを使用して1つを反応させます.
飛び込みましょう!
要素は、次のようにダイアログタグを使用して追加できます
この要素には3つのメソッドがあります. 後の2つの機能の違いです.
この要素は、現在の状態に基づいて2つのイベントを発行します. 両方のこれらのイベントも、彼らの機能選択肢を通して利用できます
コンソールを開き、ダイアログを閉じてみてください
ダイアログ要素のこのプロパティを使用して、ダイアログを閉じるボタン値を検出できます.これは がある
手動で閉じた場合、ダイアログボックスの引数として文字列を渡します
ダイアログの背景オーバーレイをカスタマイズすることができます
次のようにして渡されるスタイルをさらにカスタマイズすることができます対話要素の反応コンポーネントのバージョンです
これは、この1つの人々のためだ!
何か質問や提案がある場合は、私に手を伸ばす無料!
接続してください.Github
最近では、ダイアログHTML要素は、すべての近代的なブラウザエンジンで安定し、あなたのプロジェクトで今すぐ安全に使用することができます.
あなたが求めるこの要素についてとても興味深いものは何ですか?
これは簡単にほんの数分であなたのWebアプリケーションのためのmodals/ポップアップを作成するために使用することができます、この要素はそれの行動を制御するために使用できるいくつかのメソッドを公開し、完全にカスタマイズ可能です.
これは反応のポータルに大きな代替手段として使用することができます.
最初にバニラJSユースケースを見て、カスタムコンポーネントを使用して1つを反応させます.
飛び込みましょう!
HTML要素
要素は、次のようにダイアログタグを使用して追加できます
<dialog open>
<p>Dialog Content</p>
</dialog>
open属性はダイアログがデフォルトで表示されることを示します.私たちはすべての種類のUIを内部に追加することができます.方法
この要素には3つのメソッドがあります.
close()
- ダイアログを閉じるshow()
- ダイアログが表示されます(背景UI要素、ボタンなどの入力、その他のインターフェイスは、ポップアップに使用できます).showModal()
- 他のUI要素の上にダイアログを表示します(他のオープンダイアログでも)いくつかのバックグラウンドオーバーレイで画面上に表示されます(最も高いZ - indexを持つように考えてください.Note, this example contains default browser dialog without any stylings
イベント
この要素は、現在の状態に基づいて2つのイベントを発行します.
close
- これは、ユーザーがブラウザをダイアログを閉じるように指示するときにトリガされますEsc
キー.cancel
- ダイアログが閉じられたときに発生します.前のケースでも適用可能であるのでclose
. onclose
and oncancel
それぞれ.コンソールを開き、ダイアログを閉じてみてください
X
それからEsc
キー.返り値
ダイアログ要素のこのプロパティを使用して、ダイアログを閉じるボタン値を検出できます.これは
<form />
属性を持つ内部ダイアログmethod
設定する"dialog"
. フォームを自動的に閉じるとダイアログが閉じます.この場合、returnValue
ボタンの値を送信するように設定されています. <form method="dialog" />
dialog.close('This string will be assigned to returnValue');
我々がこれまでに経験したすべてを使用している完全なフォーム対話.Note, that we are only updating the details if the form was submitted, not if user closed the dialog manually. This is detected based on the
returnValue
property value of the dialog.
オーバレイカスタマイズ
ダイアログの背景オーバーレイをカスタマイズすることができます
::backdrop
擬似要素、背景プロパティを設定する必要があり、オーバーレイに反映されます.ダイアログコンポーネント
次のようにして渡されるスタイルをさらにカスタマイズすることができます対話要素の反応コンポーネントのバージョンです
className
プロップとコンテンツの要件として子供として.これは、この1つの人々のためだ!
何か質問や提案がある場合は、私に手を伸ばす無料!
接続してください.Github
Reference
この問題について(対話要素:モデルとポップアップへの新しいアプローチ), 我々は、より多くの情報をここで見つけました https://dev.to/princerajroy/dialog-element-a-new-approach-to-modals-and-popups-4h3hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol