Single line of text directly related to the operation performed
Blazorise Snackbar component
Snackbar provide brief messages about app processes. The component is also known as a toast.
The snackbar extension is defined of several different components:
<Snackbar>
main snackbar component<SnackbarBody>
container for the snackbar content<SnackbarAction>
snackbar action button
Installation
NuGet
Install extension from NuGet.Install-Package Blazorise.Snackbar
Imports
In your main _Imports.razor add:@using Blazorise.Components @using Blazorise.Snackbar
Static files
Include CSS link into yourindex.html
or _Layout.cshtml
/ _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" />
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>
@code{ private Snackbar snackbarPrimary; private Snackbar snackbarSecondary; }
Stacked snackbars
When you want to show multiple snackbars stacked on top of each other you can use a wrapper componentSnackbarStack
.
You can specify Action<SnackbarOptions> options
when calling PushAsync()
in order to specify the Snackbar
parameters available below.
<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 => { options.IntervalBeforeClose = intervalBeforeMsgClose; } ))">Show Info</Button> <SnackbarStack @ref="snackbarStack" Location="SnackbarStackLocation.BottomEnd" />
@code{ SnackbarStack snackbarStack; double intervalBeforeMsgClose = 2000; }
API
Attributes
Name | Description | Type | Default |
---|---|---|---|
Location |
Defines the snackbar location. | SnackbarLocation |
Default |
Color |
Defines the snackbar color. | SnackbarColor |
Default |
Visible |
Defines the visibility of snackbar. | bool |
false |
Multiline |
Allow snackbar to show multiple lines of text. | bool |
false |
Interval |
Defines the interval (in milliseconds) after which the snackbar will be automatically closed. | double |
5000 |
AnimationDuration |
efines the base animation duration in milliseconds. | double |
200 |
DelayCloseOnClick |
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). | bool |
false |
DelayCloseOnClickInterval |
Defines the interval(in milliseconds) by which the snackbar will be delayed from closing. | double? |
null |
Closed |
Occurs after the snackbar has closed. | EventCallback<SnackbarClosedEventArgs> |
null |