blazor - 流畅的 UI 流畅的文本字段在用户写入时跳过一些文本

标签 blazor blazor-server-side fluent-ui

我在 Blazor 服务器端项目中使用 Fluent UI Web 组件,当用户在 fluent-text-field 中键入文本时,会跳过一些写入的文本,是否有解决办法或者我应该改变我所有的fluid-text-fields
可以在此处找到示例:Example

在标记为“标准”或“邮政编码自动完成”的字段中书写将会产生问题。

最佳答案

我查看了 Fluent UI 的源代码。正如我所料,他们似乎正在将事件 @oninput 用于非多行文本字段:Source :

value=@(BindConverter.FormatValue(CurrentValueAsString))
@oninput=@(EventCallback.Factory.CreateBinder<string?>(this, __value => CurrentValueAsString = __value, CurrentValueAsString))

因此,对于您输入的每个字符,您都会在客户端处理和更新该字符之前获得一些网络时间,这解释了延迟。

此问题在全局范围内不应发生在本地或 Blazor WASM 上,因为没有任何网络时间。

对于多行文本字段,他们使用 @bind ,这不会产生问题:

@bind-value=@CurrentValue
@bind-value:event="oninput"

这个link更准确地解决了 @input 在 Blazor 服务器端可能出现问题的原因以及与 @bind 的差异。

不幸的是,关于如何仍然使用它,除了使用多行文本字段之外,我没有看到任何可以解决此问题的参数。然而,该库的开发人员似乎很难更新或改进它。我建议您考虑另一个库来进行新的开发( Github repository ):

We will not be adding any new functionality and bug fixing will be minimal.

关于blazor - 流畅的 UI 流畅的文本字段在用户写入时跳过一些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75018700/

相关文章:

javascript - office-ui-fabric/fluent-ui Grouped DetailsList

c# - 由于 OnAfterRenderAsync,Blazor 服务器端变量在函数调用后不会更新

c# - 验证 blazor 中的某些字段时出现问题

c# - 依赖注入(inject)对c#中的非静态类和静态方法没有值(value)

asp.net-core - 如何将tableau嵌入到asp.net core blazor中?

blazor - 在每个页面导航上执行 blazor header OnInitialized

没有身份服务器的 Blazor 服务器应用程序身份验证

reactjs - Office UI Fabric/Fluent UI React Charts 的官方文档和示例?

fluent-ui - 如何在 Fluent UI 中更改 PrimaryButton 的悬停样式?

asp.net-core - 将 Blazor 组件放置在用户内容内