嗨,我是 Blazor 的新用户,任何人都可以让我了解如何在 Blazor 上执行此操作,只需使用 inline-component 而无需覆盖该BuildRenderTree
方法。
这个想法是创建一个始终呈现此 HTML 标记的基本组件(我们称之为它Component.razor
,它是抽象的、继承的ComponentBase
):
<div id="@id" class="component @class" state="@state"></div>
基本组件始终具有 id(自动增量)和状态变量(用于组件状态,如启用、禁用等)
然后例如我们可以通过@Inherits
Component 将该 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
等。
请指教,非常感谢