问题描述
在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()。