How can I set duration of a snack-bar in angular2 (material2)

angular, angular-material2, angular2-material, material-design, snackbar

Solution

this should work

open(msg,t=2000) {
        let config = new MdSnackBarConfig(this.viewContainerRef);
        let simpleSnackBarRef = this.snackBar.open(msg, 'ok, gotcha', config);
        setTimeout(simpleSnackBarRef.dismiss.bind(simpleSnackBarRef), t);
    }

Problem

This example stays forever on the screen: snack-bar-demo.ts ``` import {Component, ViewContainerRef} from '@angular/core'; import {MdSnackBar, MdSnackBarConfig} from '@angular/material'; @Component({ moduleId: module.id, selector: 'snack-bar-demo', templateUrl: 'snack-bar-demo.html', }) export class SnackBarDemo { message: string = 'Snack Bar opened.'; actionButtonLabel: string = 'Retry'; action: boolean = false; constructor( public snackBar: MdSnackBar, public viewContainerRef: ViewContainerRef) { } open() { let config = new MdSnackBarConfig(this.viewContainerRef); this.snackBar.open(this.message, this.action && this.actionButtonLabel, config); } } ``` How can I make it disappear after 2 seconds (set duration/timeout somehow)?

Original source