Mudblazor日期选择器绑定仅支持单向绑定。

8

我一直在尝试使用日期绑定MudBlazor日期选择器到一个DateTime属性.

<MudDatePicker Label="Start Date" Date="@StartDate" />
<MudTextField Label="SelectedDate" @bind-Value="@StartDate" />
<MudText Typo="Typo.h3">Selected Date is: @StartDate</MudText>

@code
    {
        public DateTime StartDate { get; set; }
        public string DateString { get; set; }
    }

我已经在他们的网站和Visual Studio上尝试了这段代码。当离开文本字段时,代码会更新日期选择器和我的文本输出,这是正常行为。然而,我想根据我的日期选择来更改文本。我尝试了绑定到日期和值,但都没有反映我所做的选择。
我已经查看了他们网站上的文档,除了我正在做的方式之外,没有关于如何处理绑定的说明。
如果有人知道如何在mudblazor中绑定日期选择器,请帮忙解决一下,谢谢。
2个回答

18

如果有人感兴趣,这里是答案: 在MudBlazor中的日期选择器只会绑定到可空的DateTime,并且我必须使用@bind-Date。所以我的示例代码应该长这样:

<MudDatePicker Label="Start Date" @bind-Date="@StartDate" />
<MudTextField Label="SelectedDate" @bind-Value="@StartDate" />
<MudText Typo="Typo.h3">Selected Date is: @StartDate</MudText>

@code
    {
        public DateTime? StartDate { get; set; }
    }

2
与其他的流程相比,这个流程相当奇怪!但是感谢分享,你节省了我很多试错的时间。 - Koenman
我正在使用一个DateRangePicker,并手动实现Value和OnChanged而不是使用@bind。对我有效的方法是需要更新对象。我不能只设置DateRange.Start和DateRange.End。我需要给它一个新的对象才能更新UI,即DateRange = new DateRange(Start,End); 绑定值也不需要可空。关键是赋值一个新对象。 - Xebozone

0
我在使用MudDateRangePicker时遇到了类似的问题。 我发现我可以使用可空或非可空的DateRange变量,但如果我想从回调函数中获取当前选择的开始和结束日期,我必须在检查日期之前调用DateRangePicker.Close()方法。 只是提供信息,如果其他人也在关注这个问题。

2
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接