Blazorise数据网格NullReferenceException

Blazorise数据网格NullReferenceException,blazor,blazorise,Blazor,Blazorise,我将Blazorize与Blazor服务器(所有最新版本)和.NET5一起使用 我的问题是,拥有一个无线组并通过选项移动时,我会在某个特定选项上出现NullReferenceException,应用程序会崩溃 Chrome开发工具的确切错误是 blazor.server.js:19[2021-04-05T01:59:44.250Z]错误:System.NullReferenceException:对象引用未设置为对象的实例。 在Blazorise.DataGrid.DataGrid1.Filte

我将Blazorize与Blazor服务器(所有最新版本)和.NET5一起使用

我的问题是,拥有一个无线组并通过选项移动时,我会在某个特定选项上出现NullReferenceException,应用程序会崩溃

Chrome开发工具的确切错误是

blazor.server.js:19[2021-04-05T01:59:44.250Z]错误:System.NullReferenceException:对象引用未设置为对象的实例。 在Blazorise.DataGrid.DataGrid
1.FilterData(IQueryable
1查询) 在Blazorise.DataGrid.DataGrid
1.FilterData()处在Blazorise.DataGrid.DataGrid
1.filtervewdata()处 在Blazorise.DataGrid.DataGrid`1.b_uu436_5(RenderTreeBuilder_uubuilder4) 位于Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32序列,RenderFragment片段) 在Blazorise.TableBody.BuildRenderTree(RenderTreeBuilder\uuuu builder) 在Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder、RenderFragment和RenderFragment)中 位于Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry RenderQueueEntry) 在Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()中

在我最内部的组件代码中,我有这样的代码

<DataGrid TItem="InnerElement" EditMode="DataGridEditMode.Popup" RowUpdated="(update) => OnRowUpdated()" Data="element.Elements" Editable="true" ShowPager="true">
 <DataGridColumn TItem="InnerElement" Editable="true" Caption="@Localizer.Text("name")" Field="@nameof(InnerElement.Alias2)"></DataGridColumn>
    @if (element.IsRanged)
    {
        <DataGridColumn TItem="InnerElement" Editable="true" Caption="@Localizer.Text("min_value")" Field="@nameof(InnerElement.MinValue)" />
        <DataGridColumn TItem="InnerElement" Editable="true" Caption="@Localizer.Text("max_value")" Field="@nameof(InnerElement.MaxValue)" />
    }
    else
    {
        @if (element.Elements[0].Value != null)
        {
            <DataGridColumn TItem="InnerElement" Caption="@Localizer.Text("value")" Field="@nameof(InnerElement.Value)" Editable="false" />
        }
    }

@如果(元素IsRanged)
{
}
其他的
{
@if(element.Elements[0].Value!=null)
{
}
}
具有上述提取代码的组件的容器具有以下特性

 <RadioGroup Inline="true" TValue="ElementContext" CheckedValue="PatternContext" CheckedValueChanged="ChangeContext">
        <Radio Value="ElementContext.DEFAULT" TValue="ElementContext">@Localizer.Text("elementcontext_default")</Radio>
        <Radio Value="ElementContext.CATEGORY" TValue="ElementContext">@Localizer.Text("elementcontext_category")</Radio>
        <Radio Value="ElementContext.RANGE" TValue="ElementContext">@Localizer.Text("elementcontext_range")</Radio>
</RadioGroup>

@Localizer.Text(“elementcontext_默认值”)
@Localizer.Text(“elementcontext\u类别”)
@Localizer.Text(“elementcontext\u范围”)
和更改上下文

 private void ChangeContext(ElementContext context)
{
    if (context == ElementContext.DEFAULT)
    {
        Elements[0].Elements = new List<InnerElement>() {
            new InnerElement()
            {
                Alias = "Default",
                Alias2 = "",
                Abstract = Default
            }
        };
    }
    else
    {
        Elements[0].Name = string.Empty;
        Elements[0].IsContinuous = context == ElementContext.VALUE;
        Elements[0].IsRanged = context == ElementContext.RANGE;
        Elements[0].Elements = new List<InnerElement>();
    }

    PatternContext = context;
    StateHasChanged();
}
private void ChangeContext(ElementContext)
{
if(context==ElementContext.DEFAULT)
{
元素[0]。元素=新列表(){
新的InnerElement()
{
Alias=“Default”,
别名2=“”,
抽象=默认值
}
};
}
其他的
{
元素[0]。名称=字符串。为空;
元素[0]。IsContinuous=context==ElementContext.VALUE;
元素[0]。IsRanged=context==ElementContext.RANGE;
元素[0]。元素=新列表();
}
模式上下文=上下文;
StateHasChanged();
}
在组件的第一次提取中使用if语句是否有问题? 有什么想法吗