Blazor以单向方式将值绑定到“输入日期”

问题描述 投票:0回答:1

由于blazor不支持停止事件传播,我需要对type =“date”和onchange事件的输入进行单向绑定。像这样的东西:

<input type="date" value="@_endDate" format-value="yyyy-MM-dd" onchange="@EndDate_change"/>

但这不起作用。页面包含datePicker但没有值。

“_endDate”的类型为DateTime。

如果我使用双向绑定,那么一切正常。

<input type="date" bind="@_endDate" format-value="yyyy-MM-dd"/>

知道为什么第一个“输入”不起作用?是否有任何错误或者这是blazor中的错误?对于纯文本单向绑定与onchange事件工作没有问题。

Edit1:_endDate包含当前日期,并设置为DateTime.Now

protected void EndDate_change(UIChangeEventArgs endDateEvent)
{
    _endDate = Convert.ToDateTime(endDateEvent.Value);
    StateHasChanged();
}
c# blazor
1个回答
0
投票

这应该工作......错误可能在你的代码中。如果你认为你的代码没问题,那么在github上发布一个问题。

无需在EndDate_change方法中调用StateHasChanged,因为它会自动调用。

不确定为什么不能使用bind属性...但是,您可以在表单组件中使用InputDate组件来停止事件传播(提交)。

希望这可以帮助...

© www.soinside.com 2019 - 2024. All rights reserved.