我在我的项目中使用了 MatBlazor 框架。 在 MatSelect 中,我想捕捉它的值 onchange 事件来做一些其他的工作。 我尝试了一些解决方案,但 onchange 事件尚未触发。
<MatSelect Label="Customer" Value="@customer" ValueChanged="OnChangeCustomer">
<MatOptionString Value="-1">All</MatOptionString>
@foreach (var item in customers)
{
<MatOption Value="@item.Id">@item.Name</MatOption>
}
</MatSelect>
下面是我的 onchange 事件处理程序。但是当在下拉列表中选择另一个值时它没有触发:
public void OnChangeCustomer(ChangeEventArgs args)
{
if (args.Value.ToString() != "-1")
isAccountDropDownListDisabled = false;
}
谁能帮帮我? 谢谢
最佳答案
您可以引用以下示例来使用 MatSelect 控件:
<MatSelect Outlined="true" Label="Category" ValueChanged="(string i) => OnChangeCategory(i)">
<MatOptionString Value="-1">All</MatOptionString>
@foreach (var cat in GetCategories())
{
<MatOptionString Value="@cat.Id.ToString()">@cat.Name</MatOptionString>
}
</MatSelect>
<span>@selectedValue</span>
@code
{
public string selectedValue;
protected List<Customer> GetCategories()
{
//return new List<string>() { "AA", "BB" };
return new List<Customer>() {
new Customer(){Id=1001, Name="Tom"},
new Customer(){Id=1002, Name="David"},
new Customer(){Id=1003, Name="Lucy"}
};
}
protected void OnChangeCategory(string value)
{
//do something
selectedValue = "Selected Value: " + value;
}
}
截图如下:
更多详细信息,查看MatSelect文档。
关于c# - Blazor、MatBlazor - 如何捕捉 MatSelect 组件的值变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64802201/