Asp.net core Blazor组件继承

Asp.net core Blazor组件继承,asp.net-core,blazor,blazor-client-side,Asp.net Core,Blazor,Blazor Client Side,大家好,我是Blazor的新用户,任何人都可以告诉我如何在Blazor上使用内联组件,而无需重写BuildRenderTree方法 我们的想法是创建一个基本组件(我们称之为component.razor,它是抽象的,继承了ComponentBase),始终呈现此HTML标记: <div id="@id" class="component @class" state="@state"></div> 但由于按钮继承组件,因此生成的HTML将是: <div id="12

大家好,我是Blazor的新用户,任何人都可以告诉我如何在Blazor上使用内联组件,而无需重写
BuildRenderTree
方法

我们的想法是创建一个基本组件(我们称之为
component.razor
,它是抽象的,继承了
ComponentBase
),始终呈现此HTML标记:

<div id="@id" class="component @class" state="@state"></div>
但由于按钮继承组件,因此生成的HTML将是:

<div id="123" class="component button" state="1">
    <div class="label">Submit</div>
</div>

提交
请注意,该按钮还将向父div中添加“Button”类名。 继承可以根据需要继续,例如组件-->按钮-->
MultiSelectButton
,等等


请提供建议,非常感谢

您的问题是什么?我的问题是,如何使用Blazor实现这一点,正如我在帖子的第一段所说。有两件事出现了:@Body和@ChildContent@正文用于布局。有没有办法让一个组件有它的内部布局@ChildContent似乎是另一种方式,即家长修改孩子的内容,而在这里,我需要孩子修改家长的内容。或者对于@Body和@ChildContent的用法是否有我不知道/误解的地方?请告知。。感谢您的帮助如果您使用razor语法创建组件,那么在这种情况下,组合比继承更可取:只需使用
@ChildContent
参数,并使用
@buttonext
即可。@itminus但组件id如何?所以id将依赖于组件,而Button既没有任何id也没有从组件继承?那只是一个布局/组合。
<div id="123" class="component button" state="1">
    <div class="label">Submit</div>
</div>