我有一个小组件,它接受三个日期值并保存它们。在前端,当选择开始日期时,我希望我的预览日期更改为开始日期前两天。这是我写的。
我的班级:
public class AdDate
{
public string Day { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public DateTime? PreviewDate { get; set; }
}
我的组件:
<div class="modal-body">
<div class="row">
<div class="col-md-3">
<strong>Day</strong>
</div>
<div class="col-md-3">
<strong>Preview Date</strong>
</div>
<div class="col-md-3">
<strong>Start Date</strong>
</div>
<div class="col-md-3">
<strong>End Date</strong>
</div>
</div>
<div class="row">
<div class="col-md-3">
<label>Thursday</label>
</div>
<div class="col-md-3">
<RadzenDatePicker @bind-Value=@thursdayDate.PreviewDate DateFormat="d" />
</div>
<div class="col-md-3">
<RadzenDatePicker @bind-Value=@thursdayDate.StartDate @onchange="@changePreviewDate" DateFormat="d" />
</div>
<div class="col-md-3">
<RadzenDatePicker @bind-Value=@thursdayDate.EndDate TValue="DateTime?" DateFormat="d" />
</div>
</div>
}
</div>
我更改日期的逻辑是:
void changePreviewDate(ChangeEventArgs e)
{
var selectedStartDateString = e.Value.ToString();
DateTime selectedStartDate = DateTime.Parse(selectedStartDateString);
thursdayDate.PreviewDate = selectedStartDate.AddDays(-2);
}
我的零钱甚至一点也不火。我也尝试了以下没有运气
<div class="col-md-3">
<RadzenDatePicker @bind-Value=@thursdayDate.StartDate @onchange="@(() => thursdayDate.PreviewDate = thursdayDate.StartDate.Value.AddDays(-2))" DateFormat="d" />
</div>
您使用的是第三方组件:RadzenDatePicker
,而不是本机元素
从其文档中,它没有公开onchange回调,而是Change回调
因此,只需将onchange替换为Change。