Blazor选项卡不工作-获取WASM错误:运行时错误:函数签名不匹配

Blazor选项卡不工作-获取WASM错误:运行时错误:函数签名不匹配,blazor,blazor-webassembly,asp.net-blazor,Blazor,Blazor Webassembly,Asp.net Blazor,因此,我一直遵循本教程制作选项卡式组件: 我有以下几段代码: 选项卡: 它的使用方式如下: <Tabs> <TabPanel TabName="Tab One"> <Header HeaderType="HeaderTypes.H3">One</Header> </TabPanel> <TabPanel TabName="Tab Two&q

因此,我一直遵循本教程制作选项卡式组件:

我有以下几段代码:

选项卡:

它的使用方式如下:

<Tabs>
    <TabPanel TabName="Tab One">
        <Header HeaderType="HeaderTypes.H3">One</Header>
    </TabPanel>
    <TabPanel TabName="Tab Two">
        <Header HeaderType="HeaderTypes.H3">Two</Header>
    </TabPanel>
    <TabPanel TabName="Tab Three">
        <Header HeaderType="HeaderTypes.H3">Three</Header>
    </TabPanel>
</Tabs>

一个
两个
三
正如我在标题中所描述的,我得到了这个wasm错误:


有人知道为什么会发生这种情况,或者我如何调试它吗?

我无法解释此特定错误的确切原因,但这一行导致了问题:

public TabPanel ActiveTab { get; set; } = new TabPanel();
您不应该像这里这样通过调用构造函数来创建组件。此外,此行没有完成任何有用的工作,因为在添加第一个选项卡时,您已经将
ActiveTab
初始化为非空值

只需将此行更改为:

public TabPanel ActiveTab { get; set; }

您的问题将消失。

我在项目中使用Enable,因此我尝试消除null的任何可能性。渐渐地,我注意到这对于Blazor特定的代码不太管用,但我不知道这是问题所在。我来试试这个解决办法。@CarlosJimenezBermudez这是个好习惯!但有时事情必须是可以为空的。例如,如果容器中没有选项卡,则不能有活动选项卡!:)它的工作方式很有魅力,同样有趣的是,为了让它工作,可以初始化列表,但不应该初始化任何组件对象。再一次,谢谢!
public TabPanel ActiveTab { get; set; } = new TabPanel();
public TabPanel ActiveTab { get; set; }