如何在Blazor中重写BaseLayout / BaseComponent

ToolbarLayout.cs

public class ToolbarLayoutBase : LayoutComponentBase
{
    public string Text { get; set; }

    public virtual void NewData()
    {
        Console.WriteLine("Save Click " + Text);
    }
    public virtual void UpdateData()
    {
        Console.WriteLine("Update Click");
    }
}

ToolbarLayout剃刀

@inherits ToolbarLayoutBase
BtnSave,BtnUpdate,BtnRemove HTML Button

EditPage.cs

public class EditPageBase : ToolbarLayoutBase
{

    public override void UpdateData()
    {
        base.UpdateData();
    }

}

EditPage剃刀

@inherits EditPageBase
@page "/editpage"

<ToolbarLayout  />

我具有上面图片中所示的组件。 我想将“ ToolbarLayout”组件用作基本组件,并且需要方法等。我想进行更改。 就像WinForm中的基本表单结构一样。

yszwei02 回答:如何在Blazor中重写BaseLayout / BaseComponent

添加从ComponentBase派生的类并使用@inherits

public class MyBaseComponent : ComponentBase
{
    [Inject]
    public IService AnInjectedService { get; set; }

    [Parameter]
    public string AParameter { get; set; }

    protected virtual void Update()
    {        
    }   
}
@inherits MyBaseComponent
<h3>My derived component @AParamter</h3>

@code {
    protected override void Update()
    {
        // code overidding my base update method
        base.Update();
    }
}
本文链接:https://www.f2er.com/3062247.html

大家都在问