簡體   English   中英

從 Blazor 組件 EventCallback 獲取 ChangeEventArgs 值? 重構后目前為null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM