一个输入绑定到我的模型的属性CodeInput
.当我按Tab
时,我想把Model.CodeInput
加到Model.Codes
.
-
我输入字符
'A'
,然后按tab
线路Model.Codes.Add(Model.CodeInput)
上的Model.CodeInput
是空的 -
我输入第二个字符
'AB'
,我在Model.CodeInput
中按Tab键,我得到'A'
-
我在模型中输入第三个字符
'ABC'
.CodeInput我得到'AB'
这种滞后来自哪里?
谢谢,
public class MyModel
{
public string CodeInput { get; set; }
public List<string> Codes { get; set; }
}
我创建了一个组件MyComponenent:
<CascadingValue Value=@Model>
<Component1 />
</CascadingValue>
在代码部分中包含以下内容:
public MyModemModel { get; set; } = new();
Component1.razor.cs
public partial class Component1
{
[CascadingParameter]
public MyModel Model { get; set; }
public void OnKeyDown(KeyboardEventArgs e)
{
if (e.Code == "Tab")
{
Model.Codes.Add(Model.CodeInput);
}
}
}
Component1.razor
<MudTextField
@bind-Value=Model.CodeInput
@onkeydown="OnKeyDown" />
谢谢,