New to Blazor, having trouble getting a CascadingParameter to populate from my MainLayout.razor:
@code{ private Toasts Toasts { get; set; }}<Toasts @ref="@Toasts" /><CascadingValue Value="Toasts"> @Body</CascadingValue>And Index.razor page:
[CascadingParameter]public Toasts Toasts { get; set; }public async Task PackageChanged(string value){ Toasts.Something(value); //Toasts is null here}And finally Toasts.razor:
@code { private string Message { get; set; } public void Something(string message) { Message = message; StateHasChanged(); }}@MessageThis code below frustratingly works, but I'd like to cascade just the one component (<Toasts />) instead of the whole layout:
<CascadingValue Value="@this"><Toasts @ref="@Toasts" /> @Body</CascadingValue>And then index:
[CascadingParameter]public MainLayout Layout { get; set; } public async Task PackageChanged(string value) { Layout.Toasts.Something(value); //this behaves as expected }