相关疑难解决方法(0)

Blazor 非基类继承

考虑一个简单的 blazor 组件MyText

<p>@Title</p>

public partial class MyText
{
    [Parameter] public string Title { get; set; }
}

Run Code Online (Sandbox Code Playgroud)

在页面中我将其用作: <MyText Title="Abc" />

现在我想扩展这个组件,但不想更改它,而是通过新组件MyTextEx派生它并添加另一个参数。就像是:

@inherits MyText

<!-- Show base component something like: --!>
@base

<p>@Message</p>

public partial class MyTextEx
{
    [Parameter] public string Message { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我找不到如何显示基本组件的内容?所以它被渲染为:

<p>@Title</p>
<p>@Message</p>
Run Code Online (Sandbox Code Playgroud)

请注意,这是一个简化的示例,我的基本组件有很多参数、事件,并希望虚拟方法可以被扩展/派生组件覆盖。我试图避免在基本组件的 razor 文件中使用类似于组合的方法,因为据我所知,我必须再次用参数填充它:

@inherits MyText

<MyText Title="@Title" />

<p>@Message</p>
Run Code Online (Sandbox Code Playgroud)

我能够找到带有基本/抽象组件的继承示例,但找不到带有最终组件的继承。

知道如何实现这一目标吗?

谢谢,查巴

c# inheritance razor blazor

5
推荐指数
1
解决办法
3268
查看次数

标签 统计

blazor ×1

c# ×1

inheritance ×1

razor ×1