3

嗨,我是 Blazor 的新用户,任何人都可以让我了解如何在 Blazor 上执行此操作,只需使用 inline-component 而无需覆盖该BuildRenderTree方法。

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

<div id="@id" class="component @class" state="@state"></div>

基本组件始终具有 id(自动增量)和状态变量(用于组件状态,如启用、禁用等)

然后例如我们可以通过@InheritsComponent 将该 Component 继承到 Button 中,但其内部Button.razor只有这个内联 HTML:

<div class="label">@buttonText</div>

但是因为 Button 继承了 Component,所以生成的 HTML 将是:

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

请注意,按钮还会将“按钮”类名称添加到父 div 中。并且继承可以根据需要继续,例如 Component --> Button -->MultiSelectButton等。

请指教,非常感谢

4

0 回答 0