我有一個 Blazor 服務器應用程式 (.net 6) 頁面,該頁面具有一個選擇下拉串列,該串列設定為允許多個選定專案。我需要在頁面加載時設定默認值。如果我只想設定一個選定的值,則此代碼可以正常作業。但是,如果我想設定多個值,它就不起作用。當我要設定多個值時,如何設定選擇串列默認值?這是我所擁有的:
<select value ="@SelectedCities" @onchange="@((ev) => ListChangeEvent(ev, row_id ))" class="form-select" aria-label="Default select example" multiple rows="4">
@foreach (var i in item.values.ToList())
{
<option id="@i.Key">@i.Value</option>
}
</select>
public string[] SelectedCities { get; set; } = new[] { "New York", "Pittsburgh" };
上面的代碼不起作用。沒有錯誤,它根本沒有選擇這兩個專案。
但是,如果 SelectedCities 不是一個陣列,像這樣:
public string SelectedCities { get; set; } = "New York";
它作業正常。
謝謝
uj5u.com熱心網友回復:
<select multiple @onchange=HandleChange>
@foreach(var option in Options)
{
<option @key=@option selected=@(chosen.Contains(option)) value=@option>@option</option>
}
</select>
<pre>@string.Join(", ",chosen)</pre>
@code
{
string[] Options = new string[] {"Abc","Def","Ghi"};
string[] chosen = new string[] {"Abc","Ghi"};
void HandleChange(ChangeEventArgs args)
=> chosen = args.Value as string[];
}
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474276.html
上一篇:圖片上傳但不會顯示php
下一篇:清單清除后如何保留我的課程
