我正在尝试绑定到:
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上什么,但是它将不会显示在文本框中。
它将重置为MM / DD / YYYY。我在其他控件上使用了这种方式,但是由于某种原因,日期将其抛出一个循环。
谢谢。
答案 0 :(得分:1)
<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();
}