Наследование компонентов Blazor
Привет, я новый пользователь Blazor, любой может дать мне представление о том, как сделать это на Blazor, просто используя inline-компонент без необходимости переопределять BuildRenderTree
метод.
Идея состоит в том, чтобы создать базовый компонент (мы называем это Component.razor
и это абстрактно, наследуя ComponentBase
), который всегда отображает этот HTML-тег:
<div id="@id" class="component @class" state="@state"></div>
Базовый компонент всегда имеет идентификатор (автоинкремент) и переменную состояния (для состояния компонента, например, включен, отключен и т. Д.)
Тогда, например, мы можем наследовать этот компонент в кнопку через @Inherits
Компонент, но внутри Button.razor
Сам по себе есть только этот встроенный HTML:
<div class="label">@buttonText</div>
Но поскольку Button наследует Компонент, результирующий HTML будет:
<div id="123" class="component button" state="1">
<div class="label">Submit</div>
</div>
Обратите внимание, что Button также добавит имя класса "button" в родительский div. И наследование может продолжаться по мере необходимости, например, Компонент -> Кнопка -> MultiSelectButton
, и т.д.
Пожалуйста, сообщите, спасибо большое