Dyl*_*lan 3 c# .net-core blazor blazor-server-side
是否有办法保持双向绑定,并在 @onchange 上调用方法?
像这样的东西。
<input class="form-control" placeholder="My Number" @bind="Record.Number" @onchange="(()=> MyMethod())">
Run Code Online (Sandbox Code Playgroud)
我希望它绑定,但在更改时调用一些其他方法,该方法不会从更改事件中设置 Record.Number 值。
@onkeyup 有效,但我想确保该值实际发生变化。
这行:
<input class="form-control" placeholder="My Number" @bind="Record.Number"
@onchange="(()=> MyMethod())">
Run Code Online (Sandbox Code Playgroud)
可以用另一种方式表达:
<input class="form-control" placeholder="My Number" value="@record.Number"
@onchange="@((args) => { record.Number = args.Value.ToString();
MyMethod();})"/>
Run Code Online (Sandbox Code Playgroud)
这将创建一个双向绑定,其中当触发“更改”事件时,输入值会在绑定字段 (record.Number) 中更新(当您按 Tab 键离开控件时,这种情况总是会发生)。此外,还会调用 MyMethod 方法(此处用于演示值已更改)以及时间(按 Tab 键脱离控制)。
这是一个工作示例:
<input class="form-control" placeholder="My Number" value="@record.Number"
@onchange="@((args) => { record.Number = args.Value.ToString(); MyMethod();})">
<p>@output</p>
@code {
private static string output;
private void MyMethod()
{
output = record.Number;
}
Record record = new Record();
public class Record
{
public string Number { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |