4

目前,我正在开发一个使用 angular2-toaster 的项目。

// Show message notification
  this.toasterService.pop('success',
    `New message from ${data.sender.name} (${data.sender.hid})`,
    data.message);

当用户单击弹出窗口时,我想显示对话框以获取更多详细信息。我在https://www.npmjs.com/package/angular2-toaster上搜索了文档, 但是当用户单击弹出窗口时找不到处理该事件的解决方案,您能给我一些建议吗?

非常感谢。

4

2 回答 2

3

你可以使用clickHandler.

@Component({
  selector: 'my-app',
  template: `
    <div>
      <toaster-container [toasterconfig]="config1"></toaster-container>
      <button (click)="popToast()">pop toast</button><br/>
    </div>
  `,
})
export class App {
  private toasterService: ToasterService;

  constructor(toasterService: ToasterService) {
    this.toasterService = toasterService;
  }

  popToast() {
    var toast: Toast = {
      type: 'info',
      title: 'Here is a Toast Title',
      body: 'Here is a Toast Body',
      showCloseButton: true,
      clickHandler: (t, isClosed): boolean => {
        console.log('i am clicked..', isClosed, t);

        // got clicked and it was NOT the close button!
        if (!isClosed) {

        }

        return true; // remove this toast !
      }
    };

    this.toasterService.pop(toast);
  }
}

现场演示:http ://plnkr.co/edit/uL98EbfIBd6pm7bMU80V?p=preview

于 2016-12-06T07:32:08.587 回答
1

文档中,您有onShowCallback

var toast: Toast = {
  type: 'success',
  title: 'parent',
  onShowCallback: (toast) => {
    // stuff here
  }  
};

this.toasterService.pop(toast);
于 2016-12-06T07:31:23.403 回答