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アプリを構築する場合、スタイルはグローバルなスタイルシートファイルに追加する必要があります。
Ionicは、アラートの role
を、Inputやボタンがある場合は alertdialog
に、何もない場合は alert
のいずれかに自動的に設定します。
アラートに対して header
プロパティが定義されている場合、aria-labelledby
属性は自動的にヘッダの ID に設定されます。 header
が定義されていない場合は、subHeader
要素がフォールバックとして使用されます。同様に、aria-describedby
属性は、message
要素のIDが定義されていれば自動的に設定されます。
ARIAの仕様に合わせるために、アラートには message
と header
または subHeader
を含めることを強くお勧めします。もし header
や subHeader
を含めない場合は、htmlAttributes
プロパティを使用して、説明的な aria-label
を指定することができます。
すべてのARIA属性は、アラートのhtmlAttributes
プロパティにカスタム値を定義することにより、手動で上書きすることができます。
interface AlertButton { text : string ; role ? : 'cancel' | 'destructive' | string ; cssClass ? : string | string [ ] ; handler ? : ( value : any ) => boolean | void | { [ key : string ] : any } ; }
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 animated
Type boolean
Default true
Description true
の場合、バックドロップがクリックされるとアラートが解除される。Attribute backdrop-dismiss
Type boolean
Default true
Description アラートに追加されるボタンの配列。 Attribute undefined
Type (string | AlertButton)[]
Default []
Description Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. Attribute css-class
Type string | string[] | undefined
Default undefined
Description アラート提示時に使用するアニメーションです。 Attribute undefined
Type ((baseEl: any, opts?: any) => Animation) | undefined
Default undefined
Description アラートの見出しにあるメインタイトルです。 Attribute header
Type string | undefined
Default undefined
Description アラートに渡す追加属性。 Attribute undefined
Type undefined | { [key: string]: any; }
Default undefined
Description アラートに表示するInputの配列。 Attribute undefined
Type AlertInput[]
Default []
Description If true
, the alert will open. If false
, the alert will close. Use this if you need finer grained control over presentation, otherwise just use the alertController or the trigger
property. Note: isOpen
will not automatically be set back to false
when the alert dismisses. You will need to do that in your code. Attribute is-open
Type boolean
Default false
Description true
の場合、オーバーレイが表示されたときにキーボードが自動的に解除されます。Attribute keyboard-close
Type boolean
Default true
Description アラートが解除されたときに使用するアニメーション。 Attribute undefined
Type ((baseEl: any, opts?: any) => Animation) | undefined
Default undefined
Description The main message to be displayed in the alert. message
can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example <Ionic>
would become <Ionic>
For more information: Security Documentation This property accepts custom HTML as a string. Content is parsed as plaintext by default. innerHTMLTemplatesEnabled
must be set to true
in the Ionic config before custom HTML can be used. Attribute message
Type IonicSafeString | string | undefined
Default undefined
Description modeは、どのプラットフォームのスタイルを使用するかを決定します。 Attribute mode
Type "ios" | "md"
Default undefined
Description アラートの見出しにあるサブタイトルです。タイトルの下に表示されます。 Attribute sub-header
Type string | undefined
Default undefined
Description If true
, the alert will be translucent. Only applies when the mode is "ios"
and the device supports backdrop-filter
. Attribute translucent
Type boolean
Default false
Description An ID corresponding to the trigger element that causes the alert to open when clicked. Attribute trigger
Type string | undefined
Default undefined
Name Description didDismiss
Emitted after the alert has dismissed. Shorthand for ionAlertDidDismiss. didPresent
Emitted after the alert has presented. Shorthand for ionAlertWillDismiss. ionAlertDidDismiss
アラートが解除された後に発行されます。 ionAlertDidPresent
アラートが提示された後に発行されます。 ionAlertWillDismiss
アラートが解除される前に発行されます。 ionAlertWillPresent
アラートが提示される前に発行されます。 willDismiss
Emitted before the alert has dismissed. Shorthand for ionAlertWillDismiss. willPresent
Emitted before the alert has presented. Shorthand for 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.