استاد سلام
من یه لیست رو از دیتابیس خوندم و نمایش دادم،
اون لیست رو دادم به یه کامپوننت فرزند و یکی از عناصر اون لیست را حذف کردم،
چطور میتونم او لیست رو در کامپوننت والد بروزرسانی کنم؟ چون وقتی یکی از عناصر رو
حذف میکنم، لیست در کامپوننت والد تغییر نمیکنه و حتما باید صفحه را رفرش کنم.
میخوام لحظه ای که یکی از عناصر حذف میشه، همون لحظه کامپوننت والد هم بروز بشه
خیلی متشکر
سلام
میتونید از SignalR برای RealTime بودن استفاده کنید
یا با جاوااسکریپت
روی هرکدام تسلط دارید میتونید انجام دهید
سلام وقت بخیر
نمونه کد میتونید این شکلی استفاده کنید
در این خصوص پاتریک چند سال پیش یک فیلم آموزشی تولید کرده بود .
و نمونه های دیگه از این روش درون گیت هاب و .... هست اما شاید یکی ساده ترین راه ها این شکلی باشه
با دیدن این فیلم روش تغییر و به روز رسانی Component پدر توسط Component فرزند آموزش داده شده
https://www.youtube.com/watch?v=QSM1Vhu1Nsc
سورس کامل
https://github.com/patrickgod/DotNet7BlazorComponentCommunication
در Component فرزند
@inject MessageService MessageService
<div>
<h3>Child</h3>
<span>Hey there, I'm @Name.</span>
<p />
<button @onclick="@(() => SayHi.InvokeAsync("Hi!"))">Say "Hi"</button>
<p />
<button @onclick="@(() => MessageService.SaySomething($"Anybode here? I'm {Name}."))">Say something</button>
</div>
@code {
[Parameter]
public string? Name { get; set; }
[Parameter]
public EventCallback<string> SayHi { get; set; }
}
در Component پدر
@inject MessageService MessageService
@implements IDisposable
<div>
<h3>Parent</h3>
<span>Hi, I'm @Name.</span><br />
<span>My child says: "@childText"</span><br />
<span>Someone said: "@MessageService.Message"</span><br />
<Child Name="@ChildName" SayHi="ChildSaidHi"/>
</div>
@code {
[Parameter]
public string? Name { get; set; }
[Parameter]
public string? ChildName { get; set; }
string childText = "Nothing.";
private void ChildSaidHi(string message)
{
childText = message;
}
protected override void OnInitialized()
{
MessageService.SaidSomething += StateHasChanged;
}
public void Dispose()
{
MessageService.SaidSomething -= StateHasChanged;
}
}