, тогда как в on_btn_click это не нужно
В on_btn_click это не нужно, поскольку метод StateHasChanged автоматически вызывается для событий пользовательского интерфейса.
[Parameter]
public Action<int> on_evt_test_fire { get; set; }
Вы не должны не используйте делегат Action. Вместо этого используйте EventCallback «делегат», например:
Примечание. При использовании делегата Action целью события является текущий компонент (дочерний компонент), но при использовании EventCallback целью является родительский компонент. Вот почему вам не нужно добавлять вызов в метод StateHasChanged. Перед обнаружением EventCallback мы должны были вызвать метод StateHasChanged. Это был возраст go ...
[Parameter]
public EventCallback<int> on_evt_test_fire { get; set; }
И вы должны называть это так:
public async Task btn_on_click()
{
if( on_evt_test_fire.HasDelegate)
{
temp++;
await on_evt_test_fire.InvokeAsync(temp);
}
}
Вы не должны использовать параметр param1 для увеличения его значения. Определите новую переменную и присвойте ей значение param1 в методе OnInitialized следующим образом:
protected override void OnInitialized()
{
temp = param1;
}
Когда я вызываю StateHasChanged (), 2 компонента сбрасываются: они принимают свои начальные значения ..
-
Не создавать компоненты, которые записывают свои свойства параметров. Параметры перезаписываются при следующих условиях:
Содержимое дочернего компонента отображается с помощью RenderFragment.
StateHasChanged вызывается в родительском компоненте. Параметры сбрасываются, потому что родительский компонент перерисовывается при вызове StateHasChanged и новые значения параметров передаются дочернему компоненту.
Источник здесь:
Подробнее здесь: