Ngx-toastr - 为特定 toast 设置全局配置

Ngx-toastr - Set global config for specific toast

有什么方法可以为单个 toast 配置设置全局设置吗? 我只想将此配置设置为错误吐司:

{
  timeOut: 0,
  extendedTimeOut: 0,
  closeButton: true
}

我知道我可以将这些设置传递给个人吐司,例如

this.toastService.error('ERROR', config)

但是在每个 error() 调用中添加自定义配置确实很不方便。有没有办法在某些全局配置中为错误设置这些设置?

您可以创建包装器服务并覆盖默认值。

import { Injectable } from '@angular/core';
import { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';

@Injectable({
  providedIn: 'root',
})
export class CustomToastrService {
  constructor(private toastr: ToastrService) {}

  error(
    message?: string,
    title?: string,
    override?: Partial<IndividualConfig>
  ): ActiveToast<any> {
    override = {
      timeOut: 0,
      extendedTimeOut: 0,
      closeButton: true,
      ...override,
    };
    return this.toastr.error(message, title, override);
  }
}