# Toast Overlay 你可以通常将@abp/ng.theme.shared包提供的 `ToasterService` 放置在你项目的根级别下以覆盖显示消息. ## 入门 你不必在模块或组件级别提供 `ToasterService`,它已经在**根**级别提供,你可以在你的组件,指令或服务直接注入并使用它. ```js import { ToasterService } from '@abp/ng.theme.shared'; @Component({ /* class metadata here */ }) class DemoComponent { constructor(private toaster: ToasterService) {} } ``` ## 用法 你可以使用 `ToasterService` 的 `success`, `warn`, `error` 和 `info` 方法显示一个overlay. ### 如何显示一个Toast Overlay ```js this.toaster.success('Message', 'Title'); ``` - `ToasterService` 方法接收三个参数,分别是 `message`, `title`, 和 `options`. - `success`, `warn`, `error`, 和 `info` 方法返回一个已打开的 toast overlay Id. 可以使用此id删除toast. ### 如何显示具有给定选项的Toast Overlay 选项可以作为第三个参数传递给`success`, `warn`, `error`, 和 `info` 方法: ```js import { Toaster, ToasterService } from '@abp/ng.theme.shared'; //... constructor(private toaster: ToasterService) {} //... const options: Partial = { life: 10000, sticky: false, closable: true, tapToDismiss: true, messageLocalizationParams: ['Demo', '1'], titleLocalizationParams: [] }; this.toaster.error('AbpUi::EntityNotFoundErrorMessage', 'AbpUi::Error', options); ``` - `life` 选项是关闭的时间毫秒数. 默认值是 `5000`. - `sticky` 选项为 `true` 时忽略 `life` 选项,将toast overlay留在屏幕上. 默认值是 `false`. - `closable` 选项为 `true` 时在toast overlay上显示关闭图标. 默认值是 `true`. - `tapToDismiss` 选项为 `true` 允许通过单击关闭toast overlay. 默认值是 `false`. - `yesText` 是确定按钮的文本,可以传递本地化键或本地化对象. 默认值是 `AbpUi::Yes`. - `messageLocalizationParams` 是用于消息本地化的插值参数. - `titleLocalizationParams` 是标题本地化的插值参数. 使用上面的选项,toast overlay看起来像这样: ![toast](./images/toast.png) ### 如何删除 Toast Overlay 已打开的toast overlay可以通过手动调用 `remove` 方法传递指定的 toast `id`删除. ```js const toastId = this.toaster.success('Message', 'Title') this.toaster.remove(toastId); ``` ### 如何删除所有的Toasts 可以手动调用 `clear` 方法删除所有的已打开的toasts. ```js this.toaster.clear(); ``` ## API ### success ```js success( message: Config.LocalizationParam, title: Config.LocalizationParam, options?: Partial, ): number ``` - `Config` 命令空间可以从 `@abp/ng.core` 导入. - `Toaster` 命令空间可以从 `@abp/ng.theme.shared` 导入. > 请参见[`Config.LocalizationParam`类型](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/core/src/lib/models/config.ts#L46)和[`Toaster` namespace](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/theme-shared/src/lib/models/toaster.ts) ### warn ```js warn( message: Config.LocalizationParam, title: Config.LocalizationParam, options?: Partial, ): number ``` ### error ```js error( message: Config.LocalizationParam, title: Config.LocalizationParam, options?: Partial, ): number ``` ### info ```js info( message: Config.LocalizationParam, title: Config.LocalizationParam, options?: Partial, ): number ``` ### remove ```js remove(id: number): void ``` 按给定的id移除打开的toast. ### clear ```js clear(): void ``` 删除所有打开的toasts. ## 另请参阅 - [Confirmation Popup](./Confirmation-Service.md) ## 确认弹层? - [Config State](./Config-State.md)