Blazor WebAssembly将枚举作为参数传递给组件



我正在创建一个Blazor WebAssembly应用程序,我有一个枚举,我想作为参数传递给我的Blazor组件,比如这个

public enum EMenu
{
Menu1 = 1,
Menu2 = 2,
Menu3 = 3,
}
[Parameter] public EMenu Id { get; set; }
<NavMenu id="menu1" />

EMenu是我的枚举,Id是我在NavMenu组件上的参数。但它与Specified cast is not valid消息错误。

我在谷歌上搜索并看到了这个GitHub问题https://github.com/dotnet/aspnetcore/issues/19139根据它,当你用你的枚举名称作为枚举值的前缀时,以下应该起作用

<NavMenu id="EMenu.Menu1" />

但它并没有对我起作用,同样的错误。有人能帮忙指出问题吗?

如果在NavMenu组件上定义了此参数属性

[Parameter] public EMenu Id { get; set; }

然后实例化NavMenu组件,如下所示:

<NavMenu Id="EMenu.Menu1"/>

Id而不是像你那样的id。。。Id是一个以大写字母开头的组件参数。

枚举类应该位于应用程序的根文件夹中。

相关内容

  • 没有找到相关文章

最新更新