输入日期绑定



我正在尝试绑定到:

public DateTime? DOB { get; set; }

这很完美:

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

我需要工作的是,

<input type="date" format-value="MM/dd/yyyy" value="@MyObject.DOB"  @onchange="@( (args) => { MyObject.DOB = args.Value.ToString().TryDateConvert(); MyMethod();})">

<input type="date" format-value="MM/dd/yyyy" value="@MyObject.DOB"  @onchange="@( (args) => DOBChanged(args))">

&

public void DOBChanged(ChangeEventArgs e)
{
var myVal =e.Value.ToString();
MyObject.DOB = myVal.TryDateConvert();
MyMethod();
}

我已经尝试了一些变体,但无论它将绑定到MyObject.DOB,但它都不会显示在文本框中。

它将重置回月/日/年。我已经在其他控件上使用了这种方式,但由于某种原因,日期将其抛出循环。

谢谢。

<input type="date">

不能很好地处理格式值属性,您可以 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date 阅读更多相关信息。

你可以试试这个——

<input type="date" value="@MyObject.DOB.ToString("yyyy-MM-dd")" @onchange="@( (args) => DOBChanged(args))">
public void DOBChanged(ChangeEventArgs e)
{
var myVal = e.Value.ToString();
MyObject.DOB = DateTime.Parse(myVal);
MyMethod();
}

最新更新