Snackbar extension
Overview
Snackbar provide brief messages about app processes. The component is also known as a toast.
Structure
The snackbar extension is defined of several different components:
Snackbar
main snackbar componentSnackbarBody
container for the snackbar contentSnackbarAction
snackbar action button
Installation
NuGet
Install snackbar extension from NuGet.
Install-Package Blazorise.Snackbar
Imports
In your main Imports.razor add:
@using Blazorise.Snackbar
Static files
Include CSS link into your index.html
or _Host.cshtml
file, depending if you’re using a Blazor WebAssembly or Blazor Server side project.
<link href="_content/Blazorise.Snackbar/blazorise.snackbar.css" rel="stylesheet" />
Usage
Basic example
A basic snackbar that aims to reproduce standard snackbar behavior.
<Button Clicked="@(()=>snackbar.Show())">Snackbar</Button>
<Snackbar @ref="snackbar">
<SnackbarBody>
Single line of text directly related to the operation performed
</SnackbarBody>
</Snackbar>
@code{
Snackbar snackbar;
}
Variant snackbars
You can also define variant colors to override default snackbar style.
<Button Color="Color.Primary" Clicked="@(()=>snackbarPrimary.Show())">Primary</Button>
<Button Color="Color.Secondary" Clicked="@(()=>snackbarSecondary.Show())">Secondary</Button>
<Snackbar @ref="snackbarPrimary" Color="SnackbarColor.Primary">
<SnackbarBody>
Single line of text directly related to the operation performed
<SnackbarAction Clicked="@(()=>snackbarPrimary.Hide())">ACTION</SnackbarAction>
</SnackbarBody>
</Snackbar>
<Snackbar @ref="snackbarSecondary" Color="SnackbarColor.Secondary">
<SnackbarBody>
Single line of text directly related to the operation performed
<SnackbarAction Clicked="@(()=>snackbarSecondary.Hide())">ACTION</SnackbarAction>
</SnackbarBody>
</Snackbar>
Stacked snackbars
When you want to show multiple snackbars stacked on top of each other you can use a wrapper component SnackbarStack
.
<Button Color="Color.Primary" Clicked="@(()=>snackbarStack.PushAsync("Current time is: " + DateTime.Now, SnackbarColor.Info))">Primary</Button>
<Button Color="Color.Info" Clicked="@(()=>snackbarStack.PushAsync("Some info message! Timeout: " + intervalBeforeMsgClose, SnackbarColor.Info, options => { IntervalBeforeClose = intervalBeforeMsgClose; } ))">Show Info</Button>
<SnackbarStack @ref="snackbarStack" Location="SnackbarStackLocation.Right" />
@code{
SnackbarStack snackbarStack;
int intervalBeforeMsgClose = 2000;
}
Attributes
Name | Type | Default | Description |
---|---|---|---|
Location | SnackbarLocation | None |
Defines the snackbar location. |
Color | SnackbarColor | None |
Defines the snackbar color. |
Visible | bool | false | Defines the visibility of snackbar. |
Multiline | bool | false | Allow snackbar to show multiple lines of text. |
DefaultInterval | double | 5000 | Defines the interval (in milliseconds) after which the snackbar will be automatically closed. |
DelayCloseOnClick | bool | false | If clicked on snackbar, a close action will be delayed by increasing the DefaultInterval time (used if no value is provided in the Push method). |
DelayCloseOnClickInterval | double | ‘null’ | Defines the interval(in milliseconds) by which the snackbar will be delayed from closing. |
Closed | EventCallback<SnackbarClosedEventArgs> |
Occurs after the snackbar has closed. |