scoped アラートは、ユーザーに情報を提示したり、Inputを使ってユーザーから情報を収集したりするダイアログである。アラートはアプリのコンテンツの上に表示され、アプリとの対話を再開する前に、ユーザーが手動で解除する必要があります。また、オプションで header、subHeader、message を持つことができます。
ion-alert は、テンプレートに直接コンポーネントを記述して使用することができます。これにより、アラートを表示するために必要なハンドラの数を減らすことができます。
ion-alert の isOpen プロパティは、開発者がアプリケーションの状態からアラートの表示状態を制御することを可能にします。つまり、isOpen を true に設定するとアラートが表示され、isOpen を false に設定するとアラートは解除されます。
isOpen は一方通行のデータバインディングを使用しているため、アラートが解除されたときに自動的に false に設定されることはありません。開発者は ionAlertDidDismiss または didDismiss イベントを待ち、isOpen を false に設定する必要があります。この理由は、ion-alert の内部がアプリケーションの状態と密接に結合するのを防ぐためである。一方通行のデータバインディングでは、アラートはリアクティブ変数が提供するブーリアン値だけを気にすればよい。双方向のデータバインディングでは、アラートはブーリアン値とリアクティブ変数の存在の両方に関心を持つ必要があります。これは、非決定的な動作につながり、アプリケーションのデバッグを困難にする可能性があります。
alertControllerは、アラートを表示するタイミングや解除するタイミングをより細かく制御する必要がある場合に使用することができる。
buttons の配列には、各buttonの text のプロパティと、オプションで handler を利用することができます。 handler が false を返した場合、buttonがクリックされてもAlertは自動的に解除されません。すべての buttons は、左から右にボタン配列に追加された順序で表示されます。 Note: 一番右のボタン(配列の最後の1つ)がメインボタンです。
オプションで、cancelのような role プロパティをボタンに追加することができます。もし cancel ロールがボタンのいずれかに設定されている場合、バックドロップをタップしてアラートが解除されると、キャンセルロールを持つボタンから handler が起動されます。
Alertには、複数の異なるInputを含めることもでき、そのデータをアプリで受け取ることができます。 Inputはユーザーに情報の入力を促す簡単な方法として使用できます。Radios, checkboxes と text inputs textarea はすべて利用できますが、これらを混ぜて利用することはできません。例えば、Alertはすべてbutton Inputであったり、すべてcheckboxでのInputを持つことはできますが、同一のAlertにradioとcheckbox Inputを混ぜることはできません。ただし、"text" Inputでは、 url, email, text などの複数のtypeを混ぜて利用することはできます。アラートのガイドラインに収まらない複雑なForm UIが必要な場合は、代わりにModal内でFormを構築することをお勧めします。
Alertはscopedによるカプセル化を使用しており、実行時に各スタイルにクラスを追加することで自動的にCSSをスコープします。CSSでscopedセレクタをオーバーライドするには、higher specificity セレクタが必要です。
create メソッドで cssClass にカスタムクラスを渡し、それを使ってホストと内部要素にカスタムスタイルを追加することをお勧めします。このプロパティは、スペースで区切られた複数のクラスを受け付けることもできます。
.alert-wrapper { background : #e5e5e5 ; } .my-custom-class .alert-wrapper { background : #e5e5e5 ; } Copy CSSカスタムプロパティ は、個々の要素をターゲットにすることなく、アラートのスタイルに使用することができます。
.my-custom-class { --background : #e5e5e5 ; } Copy IonicのAngularアプリを構築する場合、スタイルはグローバルなスタイルシートファイルに追加する必要があります。
Alerts set aria properties in order to be accessible to screen readers, but these properties can be overridden if they aren't descriptive enough or don't align with how the alert is being used in an app.
Ionic automatically sets the Alert's role to either alertdialog if there are any inputs or buttons included, or alert if there are none.
If the header property is defined for the Alert, the aria-labelledby attribute will be automatically set to the header's ID. The subHeader element will be used as a fallback if header is not defined. Similarly, the aria-describedby attribute will be automatically set to the ID of the message element if that property is defined.
ARIAの仕様に合わせるために、アラートには message と header または subHeader を含めることを強くお勧めします。もし header や subHeader を含めない場合は、htmlAttributes プロパティを使用して、説明的な aria-label を指定することができます。
Angular Javascript React Vue const alert = await this . alertController . create ( { message : 'This is an alert with custom aria attributes.' , htmlAttributes : { 'aria-label' : 'alert dialog' , } , } ) ; Copy const alert = await this . alertController . create ( { message : 'This is an alert with custom aria attributes.' , htmlAttributes : { 'aria-label' : 'alert dialog' , } , } ) ; Copy useIonAlert ( { message : 'This is an alert with custom aria attributes.' , htmlAttributes : { 'aria-label' : 'alert dialog' , } , } ) ; Copy const alert = await alertController . create ( { message : 'This is an alert with custom aria attributes.' , htmlAttributes : { 'aria-label' : 'alert dialog' , } , } ) ; Copy All ARIA attributes can be manually overwritten by defining custom values in the htmlAttributes property of the Alert.
Buttons containing text will be read by a screen reader. If a description other than the existing text is desired, a label can be set on the button by passing aria-label to the htmlAttributes property on the button.
Angular Javascript React Vue const alert = await this . alertController . create ( { header : 'Header' , buttons : [ { text : 'Exit' , htmlAttributes : { 'aria-label' : 'close' , } , } , ] , } ) ; Copy const alert = await this . alertController . create ( { header : 'Header' , buttons : [ { text : 'Exit' , htmlAttributes : { 'aria-label' : 'close' , } , } , ] , } ) ; Copy useIonAlert ( { header : 'Header' , buttons : [ { text : 'Exit' , htmlAttributes : { 'aria-label' : 'close' , } , } , ] , } ) ; Copy const alert = await alertController . create ( { header : 'Header' , buttons : [ { text : 'Exit' , htmlAttributes : { 'aria-label' : 'close' , } , } , ] , } ) ; Copy type AlertButtonOverlayHandler = boolean | void | { [ key : string ] : any } ; interface AlertButton { text : string ; role ? : 'cancel' | 'destructive' | string ; cssClass ? : string | string [ ] ; id ? : string ; htmlAttributes ? : { [ key : string ] : any } ; handler ? : ( value : any ) => AlertButtonOverlayHandler | Promise < AlertButtonOverlayHandler > ; } Copy interface AlertInput { type ? : TextFieldTypes | 'checkbox' | 'radio' | 'textarea' ; name ? : string ; placeholder ? : string ; value ? : any ; label ? : string ; checked ? : boolean ; disabled ? : boolean ; id ? : string ; handler ? : ( input : AlertInput ) => void ; min ? : string | number ; max ? : string | number ; cssClass ? : string | string [ ] ; attributes ? : { [ key : string ] : any } ; tabindex ? : number ; } Copy interface AlertOptions { header ? : string ; subHeader ? : string ; message ? : string | IonicSafeString ; cssClass ? : string | string [ ] ; inputs ? : AlertInput [ ] ; buttons ? : ( AlertButton | string ) [ ] ; backdropDismiss ? : boolean ; translucent ? : boolean ; animated ? : boolean ; htmlAttributes ? : { [ key : string ] : any } ; mode ? : Mode ; keyboardClose ? : boolean ; id ? : string ; enterAnimation ? : AnimationBuilder ; leaveAnimation ? : AnimationBuilder ; } Copy Description trueの場合、アラートはアニメーションで表示されます。Attribute animatedType booleanDefault true
Description trueの場合、バックドロップがクリックされるとアラートが解除される。Attribute backdrop-dismissType booleanDefault true
Description アラートに追加されるボタンの配列。 Attribute undefinedType (string | AlertButton)[]Default []
Description カスタムCSSに適用する追加のクラス。複数のクラスを指定する場合は、スペースで区切る必要があります。 Attribute css-classType string | string[] | undefinedDefault undefined
Description アラート提示時に使用するアニメーションです。 Attribute undefinedType ((baseEl: any, opts?: any) => Animation) | undefinedDefault undefined
Description アラートの見出しにあるメインタイトルです。 Attribute headerType string | undefinedDefault undefined
Description アラートに渡す追加属性。 Attribute undefinedType undefined | { [key: string]: any; }Default undefined
Description アラートに表示するInputの配列。 Attribute undefinedType AlertInput[]Default []
Description trueの場合、アラートは開く。もし false ならば、アラートは閉じます。alertControllerやtriggerプロパティを使用してください。注意: アラートが終了しても isOpen は自動的に false に戻りません。あなたのコードでそれを行う必要があります。Attribute is-openType booleanDefault false
Description trueの場合、オーバーレイが表示されたときにキーボードが自動的に解除されます。Attribute keyboard-closeType booleanDefault true
Description アラートが解除されたときに使用するアニメーション。 Attribute undefinedType ((baseEl: any, opts?: any) => Animation) | undefinedDefault undefined
Description アラートに表示されるメインメッセージ。messageには、文字列としてプレーンテキストまたはHTMLのいずれかを指定することができます。通常HTML用に予約されている文字を表示するには、エスケープする必要があります。例えば、<Ionic>は <Ionic> になります:セキュリティ・ドキュメント このプロパティは、カスタムHTMLを文字列として受け付けます。デフォルトでは、コンテンツはプレーンテキストとしてパースされます。カスタムHTMLを使用するには、Ionicの設定で innerHTMLTemplatesEnabled を true に設定する必要があります。 Attribute messageType IonicSafeString | string | undefinedDefault undefined
Description modeは、どのプラットフォームのスタイルを使用するかを決定します。 Attribute modeType "ios" | "md"Default undefined
Description アラートの見出しにあるサブタイトルです。タイトルの下に表示されます。 Attribute sub-headerType string | undefinedDefault undefined
Description trueの場合、アラートは半透明になります。modeが "ios" で、デバイスが backdrop-filter をサポートしている場合にのみ適用されます。Attribute translucentType booleanDefault false
Description クリックされるとアラートが開くトリガー要素に対応するID。 Attribute triggerType string | undefinedDefault undefined
Name Description didDismissアラートが解除された後に発行されます。ionAlertDidDismissの略記。 didPresentアラートが提示された後に発行されます。ionAlertWillDismissの略記。 ionAlertDidDismissアラートが解除された後に発行されます。 ionAlertDidPresentアラートが提示された後に発行されます。 ionAlertWillDismissアラートが解除される前に発行されます。 ionAlertWillPresentアラートが提示される前に発行されます。 willDismissアラートが解除される前に発行されます。ionAlertWillDismissの略記。 willPresentアラートが提示される前に発行されます。ionAlertWillPresentの略記。
Description アラートオーバーレイが表示された後、解除します。 Signature dismiss(data?: any, role?: string) => Promise<boolean>
Description アラートが解除されたことを解決するPromiseを返します。 Signature onDidDismiss<T = any>() => Promise<OverlayEventDetail<T>>
Description アラートが解除されるタイミングを解決するPromiseを返します。 Signature onWillDismiss<T = any>() => Promise<OverlayEventDetail<T>>
Description アラートオーバーレイを作成した後に提示します。 Signature present() => Promise<void>
No CSS shadow parts available for this component.
Name Description --backdrop-opacity背景の不透明度 --background注意喚起の背景 --heightアラートの高さ --max-heightアラートの最大の高さ --max-widthアラートの最大幅 --min-heightアラートの最小の高さ --min-widthアラートの最小幅 --widthアラートの幅
No slots available for this component.