Делегат RenderFragment - Варианты реализации.

Component - "Предок" ...\Parent_RndrFrgmt.razor


Вар 3. `RenderFragment` в компоненте `Предок`. Это текущее время 4/1/2025 5:07:40 PM.

Исходный код
@page "/Parent_RenderFragment"


<p><h2>Делегат RenderFragment - Варианты реализации.</h2></p>

<div style=" padding:5em">


    <h4>Component- "Предок"  <code>...\Parent_RndrFrgmt.razor</code> </h4>

    <RndrFrgmt_Child OnOff=OnOff Var2_RenderFragment=

Вар 2. Переменная типа `RenderFragment` из компонента предкa, присвоенная параметру наследника

> <Var1_RenderFragment> @Variant_1 </Var1_RenderFragment> </RndrFrgmt_Child> <button class="btn-dark" style="margin:1rem" @onclick="@(()=>OnOff = !OnOff)"> @BtnContent: компонент "Наследник" </button> <br /> @Variant_3 </div> @code { string Variant_1 = "Вар 1. " + DateTime.Now.ToString() + " < Здесь значение времени вложено в компонент наследник, через параметр RenderFragment из компонента предкa"; private RenderFragment Variant_2 =>@<p>Вар 2. Переменная типа `RenderFragment` из компонента предкa, присвоенная параметру наследника</p>; private RenderFragment Variant_3 = @<p>Вар 3. `RenderFragment` в компоненте `Предок`. Это текущее время @DateTime.Now.</p>; string BtnContent = "Показать"; bool OnOff = false; //событие при мзменении отрисовки этого компонента protected override void OnAfterRender(bool firstRender) { BtnContent = OnOff ? "Показать" : "Скрыть"; } } ------------------------------------------------------------------------------------------ -------------------- Компонент для внедрения: Shared\Parameter\RndrFrgmt_Child.razor -------------------------------- @using Microsoft.AspNetCore.Components <div style="background-color:blanchedalmond;"> @if (OnOff) { <h4>Это внедренный компонент "Наследник" <code>...\Shared\Parameter\RndrFrgmt_Child.razor</code></h4> <p> @Var1_RenderFragment</p> @stringTime <br /> <button style="margin:1rem" @onclick="setTime"> <b>^</b> Показать/Обновить дату и время в компоненте наследнике</button> <code>@Var2_RenderFragment</code> } </div> @code { [Parameter] public RenderFragment Var1_RenderFragment { get; set; } [Parameter] public RenderFragment Var2_RenderFragment { get; set; } string stringTime = "-----------------------"; [Parameter] public bool OnOff { get; set; } void setTime() { stringTime = $"{DateTime.Now.ToString()} < В компоненте наследника. Значение времени обновлённые через событие, без участия параметра RenderFragment "; ; } }
Произошла ошибка. Это приложение может больше не отвечать до перезагрузки.(переведено) Произошла ошибка. Это приложение может больше не отвечать до перезагрузки.(переведено) Reload 🗙
Web hosting by Somee.com