【发布时间】:2019-03-24 20:17:53
【问题描述】:
我有一个简单的应用程序,其输入字段应在您键入时插入一段预定义的文本。
我的代码如下所示:
<input type="text" bind="@PetitionInput" onkeydown="@PetitionHandleKeyDown" />
@functions
{
private int _petitionCharStep = 0;
private string _petition = "This is a dummy text";
public string PetitionInput { get; set; } = string.Empty;
void PetitionHandleKeyDown(UIKeyboardEventArgs arg) {
PetitionInput += _petition[_petitionCharStep];
_petitionCharStep++;
Console.WriteLine(PetitionInput);
}
}
当输入字段有焦点,并且我在键盘上按下一个字母时,它应该将字符串_petition 中的第一个字母添加到输入中。当我按下键盘上的任何字母时,它应该在输入字段中输入第二个字母。以此类推。
我遇到的问题是它还在我在键盘上按下的输入末尾添加了字母。我想防止这种情况发生。
有没有办法只使用问题Blazor 代码来解决这个问题?
我有一个在线演示here。
【问题讨论】:
-
目前不支持不下拉到JS:github.com/aspnet/AspNetCore/issues/5545
-
@KirkWoll,这种特殊行为可能可以通过
onkeydown、onkeyup和value的组合来完成。如果您愿意看一下我的答案,也许您可以在某些情况下对其进行改进或使其无效。谢谢。
标签: preventdefault blazor