[英]Getting the ChangeEventArgs value from Blazor component EventCallback? Currently is null after refactor
我重構了我編寫的一些 Blazor 代碼,用於將帶有 onchange function 的下拉列表從頁面移動到帶有 EventHandler 參數的單獨 Blazor 組件中。 以前它在頁面 razor 文件內部工作,onchange function,但現在當它作為 EventCallback 調用時,ChangeEventArgs 是 null。
猜猜我需要在組件內的@onchange 中傳遞參數,如果是的話,用什么語法來獲取當前選中的項目?
提前致謝,
搶
帶有組件標簽的頁面:
<div class="form-group">
<LocationsDropdown Locations="Locations" Location_OnChange="@Location_OnChange"/>
</div>
頁基class方法:
public async Task Location_OnChange(ChangeEventArgs e)
{
PageId = 1;
if (e != null)
LocationId = Convert.ToInt32(e.Value);
await Load().ConfigureAwait(false);
}
新組件:
<select class="form-control" @onchange="@(() => Location_OnChange.InvokeAsync())">
<option value="-1">All Locations</option>
@{
if (Locations != null)
{
foreach (var location in Locations)
{
<option value="@location.Id">@location.Description</option>
}
}
}
@code {
[Parameter]
public EventCallback<ChangeEventArgs> Location_OnChange { get; set; }
[Parameter]
public IList<Location>? Locations { get; set; }
}
只需添加來自 select 組件 onchange 事件的參數並繼續...
<select class="form-control" @onchange="@((e) => Location_OnChange.InvokeAsync(e))">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.