问题描述
嗨,我正在尝试解决这个问题一段时间,但似乎没有任何效果 我在我的项目中使用了 BazloredTypeahead 组件。我正在从我的模型中投标对象,我正在使用模板来获取我的对象字符串表示
这是我的代码的一些表示:
<EditForm Model="@ReservationModel" OnValidSubmit="@Submit">
<FluentValidationValidator/>
@if (ClientList != null && ClientList.Any())
{
<blazoredTypeahead SearchMethod="ClientSearch" @bind-Value="ReservationModel.Client" >
<SelectedTemplate Context="template">
@template.GetAutocompleteValue()
</SelectedTemplate>
<ResultTemplate Context="template">
@template.GetAutocompleteValue()
</ResultTemplate>
<NotFoundTemplate>
Client not found
</NotFoundTemplate>
</blazoredTypeahead>
}
<br/>
<div class="col-12 row">
<span class="col-2"></span>
<input type="submit" class="form-control col-2 btn btn-primary" value="Submit"/>
</div>
</EditForm>
这个组件默认有一个清晰的图标,每次我点击它都会出现这个异常。
Error: System.ArgumentNullException: Value cannot be null. (Parameter 'model')
at Microsoft.AspNetCore.Components.Forms.FieldIdentifier..ctor(Object model,String fieldName)
at Microsoft.AspNetCore.Components.Forms.FieldIdentifier.Create[TField](Expression`1 accessor)
at Microsoft.AspNetCore.Components.Forms.ValidationMessage`1.OnParameteRSSet()
at Microsoft.AspNetCore.Components.ComponentBase.CallOnParameteRSSetAsync()
at Microsoft.AspNetCore.Components.ComponentBase.SetParametersAsync(ParameterView parameters)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView parameters)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.UpdateRetainedChildComponent(DiffContext& diffContext,Int32 oldComponentIndex,Int32 newComponentIndex)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForFramesWithSameSequence(DiffContext& diffContext,Int32 oldFrameIndex,Int32 newFrameIndex)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext,Int32 oldStartIndex,Int32 oldEndindexExcl,Int32 newStartIndex,Int32 newEndindexExcl)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForFramesWithSameSequence(DiffContext& diffContext,Int32 newEndindexExcl)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer,RenderBatchBuilder batchBuilder,Int32 componentId,ArrayRange`1 oldTree,ArrayRange`1 newTree)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder,RenderFragment renderFragment)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
e.log @ blazor.server.js:19
我确定我的对象最初不是空的。
我的 GetAutocompleteValue 方法:
public static string GetAutocompleteValue(this Client client)
{
return client == null ? string.Empty : $"{client.FirstName} {client.LastName} - {client.PhoneNumber}";
}
所以一切正常,直到我点击“X”。我在使用不同的组件 (old issue) 时遇到了同样的问题,但似乎有异常跟着我 :( 我会提供任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)