如何在blazor中通过外部代码设置selectbox值



我使用的是TelerikDropDownList,我想通过事件通过外部代码(手动,无需用户界面(设置selectbox值。

<TelerikDropDownList Id="TelerikDropDownListId"
@bind-Value="@Model.Id"
Data="@DataDropDownList"
ValueField="Value"
TextField="Text"
@ref="TelerikDropDownListId"/>
<button @onclick="ChangeSelectBoxValue" />
@code {
public List<DropDownItem<long>> DataDropDownList = new List<DropDownItem<long>>();
private void ChangeSelectBoxValue()
{
DataDropDownList.Add(new DropDownItem<long>() { Value = 0, Text = "(New)" });
TelerikDropDownListId.TextField = "(New)";
TelerikDropDownListId.Value = 0;
StateHasChanged();
}
}

您需要在列表中添加新项目,但更改在@bind-Value中传递的值,而不更改组件参考的值

private void ChangeSelectBoxValue()
{
// add new item to the drop down list
DataDropDownList.Add(new DropDownItem<long>() { Value = 0, Text = "(New)" });
// change the value of the drop down
Model.Id = 0; // same Value as the item added in the drop down list
StateHasChanged();
}

最新更新