我的代码应该是这样的,但它得到空引用异常
<MatSelect Label="Atık Tipi" @bind-Value="@SecilenAtikGrubu.GrupId" Style="width:100%">
@foreach (var item in TumAtikTipleri)
{
<MatOption Value="@item.Id">@item.Deger1</MatOption>
}
</MatSelect>
但是当我这样使用时,它正在工作
<select class="mdc-select__native-control" @bind="SecilenAtikGrubu.GrupId">
@foreach (var item in TumAtikTipleri)
{
<option value="@item.Id">@item.Deger1</option>
}
</select>
绑定(bind)值类如下( SecilenAtikGrubu 和 TumAtikTipleri )
public class GrupKodlari : KayitBilgisi
{
[Key]
public int Id { get; set; }
public string Tur { get; set; }
public string Isim { get; set; }
public string Deger1 { get; set; }
public string Deger2 { get; set; }
public string Deger3 { get; set; }
public int? GrupId { get; set; }
public virtual GrupKodlari Grup { get; set; }
}
最佳答案
坏消息是的,我已经检查过了,MatSelect 无法绑定(bind)到可为空的类型。
现在好消息 ,第一个,您可以使用辅助属性作为解决方法,Try it at blazorfiddle .
public int GrupIdAux
{
set{
GrupId = (value==0?(int?)null:value);
}
get {
return (GrupId==null?0:GrupId.Value);
}
}
第二个好消息:MatBlazor 是一个开源项目。如果您需要使用可空类型,您可以 can improve MatSelect control并发送 PR。项目所有者对贡献持开放态度(例如 I wrote NumericUpDown )如果您无法改进组件,您可以花钱请人为您编写它,或者您可以在项目问题上发布对新功能的请求。看起来不错的主意,绑定(bind)可为空的对象会很棒。
关于blazor - MatBlazor 选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59489037/