在 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()。
在 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()。