.net core 从列表中删除项不会刷新正确的组件

.net core 从列表中删除项不会刷新正确的组件,.net-core,blazor,.net Core,Blazor,我有一个Blazor页面,该页面根据我动态添加/删除项目的列表显示组件列表: <TelerikButton OnClick="() => State.AddSymbols(SymbolToAdd)">Add</TelerikButton> @foreach (var symbolToDisplay in State.SymbolsToDisplay) { <StockGraph SymbolToDisplay="@symbolToD

我有一个Blazor页面,该页面根据我动态添加/删除项目的列表显示组件列表:

 <TelerikButton OnClick="() => State.AddSymbols(SymbolToAdd)">Add</TelerikButton>

@foreach (var symbolToDisplay in State.SymbolsToDisplay)
    {
        <StockGraph SymbolToDisplay="@symbolToDisplay" OnRemoved="() => State.RemoveSymbol(symbolToDisplay)"/>
    }
以及组件的代码:

<div class="stock-graph">
<p>
    @companyData?.companyName
</p>
<div>
    <TelerikButton class="delete-item" onclick="@OnRemoved">X</TelerikButton>
</div>
<TelerikChart ref="@chart">
    <TelerikChartSeriesItems>
        <TelerikChartSeries Type="ChartSeriesType.Line" Data="@data.StockValues"
                            Field="@nameof(StockValueData.StockValue)"
                            CategoryField="@nameof(StockValueData.Date)">
        </TelerikChartSeries>
    </TelerikChartSeriesItems>
    <TelerikChartValueAxes>
        <TelerikChartValueAxis Color="red"></TelerikChartValueAxis>
    </TelerikChartValueAxes>
</TelerikChart>


@公司数据?公司名称

X

这应该很简单。但由于某些原因,在删除零部件时,即使列表中删除了所需的值并包含所有正确的值,也始终是最后一个显示的零部件被删除

我有一个在github上运行的代码示例:


只需添加随机股票符号,如GOOG、AAPL、ACC等,那么问题就来自于我初始化/更新组件参数的方式。 在需要更新页面和组件中的数据后,不会再次运行OnInitAsync。
相反,您必须使用OnParametersSetAsync,以便组件正确更新其参数

这听起来像是
OnRemoved()
的问题,但您没有发布该问题。我还发现第一段代码很难破解,是不是Blazor?为什么
()=>
这在这里有效吗?这段代码实际上有效,来自Dan Roth的Blazor工作室“Blazing Pizza”
<div class="stock-graph">
<p>
    @companyData?.companyName
</p>
<div>
    <TelerikButton class="delete-item" onclick="@OnRemoved">X</TelerikButton>
</div>
<TelerikChart ref="@chart">
    <TelerikChartSeriesItems>
        <TelerikChartSeries Type="ChartSeriesType.Line" Data="@data.StockValues"
                            Field="@nameof(StockValueData.StockValue)"
                            CategoryField="@nameof(StockValueData.Date)">
        </TelerikChartSeries>
    </TelerikChartSeriesItems>
    <TelerikChartValueAxes>
        <TelerikChartValueAxis Color="red"></TelerikChartValueAxis>
    </TelerikChartValueAxes>
</TelerikChart>