may*_*ʎɐɯ 5 localization asp.net-core blazor
我正在基于最新的 Core 3.1 开发 Blazor 项目。
UI 文化正确显示日期和数字,如图所示。
但是当我使用 EditForm 时,数字和日期没有按照它应该的格式进行格式化。
所以这个 EditForm 的代码部分
<InputDate id="date" class="form-control" @bind-Value="@TaskObject.Date" />
Run Code Online (Sandbox Code Playgroud)
所以在 EditForm 中它看起来像这样,这不是正确的文化格式:
但是在 UI 中看起来像这样,这没关系:
当我刚接触 Blazor 时,我尝试在线阅读不同的内容以获取有关此问题的一些知识。
所以我厌倦了以下内容:
没有运气。
然后我尝试阅读此内容,发现此内容不适用于 Core 3.1。
我的问题是,究竟应该怎么做才能使 EditForm 像 UI 一样显示日期和数字,为什么 EditForm 会发生这种情况?
为什么 EditForm 会发生这种情况
内置InputDate/InputNumber被设计为文化不变组件。请参阅InputDate和InputNumber的源代码。
到底应该做什么才能使 EditForm 像 UI 那样显示日期和数字,
我认为我们可以创建一个自定义InputDate<TValue>实现。然而,我错了。根据MDN:
显示的日期根据用户浏览器的区域设置进行格式化,但解析的值始终采用 yyyy-mm-dd 格式。
即使我们获得了InputDate<TValue>尊重当前的自定义实现CultureInfo,我们仍然需要一些 js/css 来显示正确的格式。IMO,没有标准的方法来实现这一点。另请参阅SO 上的此线程。
| 归档时间: |
|
| 查看次数: |
4868 次 |
| 最近记录: |