انتقال دیتا از فرزند به والد

با مثال زیر میتوان انتقال دیتا از کامپوننتهای فرزند به والد را نمایش داد.

1- به کامپوننت مورد نظر خود این بخش را اضافه کنید:

<h3>This is a TestComponnet on @PageName</h3>
<label>
    <input type="checkbox" @onchange="OnselectedChange"/>
</label>
@code {
    /// <summary>
    /// نام صفحه
    /// </summary>
    [Parameter]
    public string PageName { get; set; }   

    [Parameter]
    public EventCallback<bool> OnChanged { get; set; }

    protected async Task OnselectedChange(ChangeEventArgs e)
    {
        await OnChanged.InvokeAsync((bool)e.Value);
    }
}

2- در بخشی که از کامپوننت خود استفاده کرده اید، تغییرات زیر را اعمال کنید:

<TestComponnet PageName="Item 1" OnChanged="IsChecked"></TestComponnet>
@code {
    private int checkBoxCount = 0;
    private int currentCount = 0;
    private string pageName = "[COUNTER]";
    private void IncrementCount()
    {
        currentCount++;
    }

    protected void IsChecked(bool isChecked)
    {
        if (isChecked)
        {
            checkBoxCount++;
        }
        else
        {
            checkBoxCount--;
        }
    }

}