在 Blazor 中每两秒显示一次字符串列表中的项目

Display items from string list every two seconds in Blazor

在 BlazorApp 索引页面中,我有一个函数,我可以在其中将字符串添加到这样的列表中:

public List<string> consol { get; set; } = new List<string>();
 public void SecondMain()
            { 
                consol.Add("Some text1"); 
                consol.Add("Some text2");
                ...
            }

然后我显示添加到列表中的每个字符串:

<button @onclick="SecondMain" class="btn btn-primary">Display</button>
@foreach (var item in consol)
                {
                  <p>item</p>
                }

它工作正常。但是,所有字符串都会立即出现在视图中。有没有办法让它们每隔几秒出现一次?

@onclick 支持异步处理程序:

public async Task SecondMain()
{ 
    consol.Add("Some text1"); 

    await Task.Delay(1000);  // 1 sec
    consol.Add("Some text2");
    StateHasChanged();

    await Task.Delay(1000);  // 1 sec
    consol.Add("Some text3");     
}

您将需要一个 StateHasChanged();对于除第一个和最后一个字符串之外的所有字符串。根据需要添加 Task.Delay()。