我在 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/