首页 > 解决方案 > 为什么我的 Blazor 日期输入类型无法正常工作?

问题描述

我正在尝试使用日期选择器创建一个页面,但我无法让 Blazor 正常工作。这就是我正在做的事情:

页面剃刀:

<div>
    <label for="from">From</label>
    <input id="from" type="date" @bind="fromDate" />
</div>

@code {
    private DateTime fromDate;
}

但是,当我运行项目时,日期字段会读取01/01/0001,我无法单击该框来编辑字段;不过,我可以通过标签来编辑它们。当我单击日历图标时,它会显示从年份开始的日期选择器0001,我被迫滚动到 2021 年。

当我删除@bind="fromDate"标签时,日期选择器小部件可以正常工作,但我显然无法检索使用日期。

我不想将它绑定到模型,我只想在我的块中抓取DateTime并操作它。@code{}


编辑:

我也在使用 Bootstrap 5.x,但这应该没什么区别。


编辑#2:

我从中删除了 Bootstrap 修饰符,input但它仍然不起作用,所以 Bootstrap 不是问题。

标签: blazor

解决方案


因此,显然,这与 Blazor 无关,而是 HTML 本身的“功能”。这个例子:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title></title>
    </head>
    <body>
        <div>
            <form method="GET" action="#">
                <input type="date" id="mydate" name="mydate" />
            </form>
        </div>
    </body>
</html>

会做同样的事情。

显然我可以点击日期输入字段来编辑它,只是没有指示我当前正在编辑什么元素(例如,日、月、年)。

如果我点击mm我可以输入一个月,dd让我输入一天,yyyy让我输入一年。

但是,就像我说的那样,没有任何内容表明我已在该字段中成功单击(例如突出显示或背景颜色的更改等)以及我当前正在编辑的日期元素,直到我完成日期元素,或者选项卡到一个新元素。


推荐阅读