如何将datetime-local类型的输入控件设置为当前时间

问题描述 投票:0回答:3

我正在努力将 Angular 中

datetime-local
类型的输入字段的日期和时间设置为当前时间。

下面是我的模板 html 文件的部分。

<form [formGroup]="form" (ngSubmit)="onSubmit()" *ngIf="isLoaded && !isAdmin">
    <div class="form-row">
        <div class="form-group col-5">
            <label>Date</label>
            <input type="datetime-local" formControlName="scheduledDate" class="form-control" />
        </div>
    </div>
</form>

我已经尝试了 stackblitz Here 上给出的建议,但它给了我奇怪的错误

ERROR Error: NodeInjector: NOT_FOUND [NgControl]

javascript angular
3个回答
1
投票

我不知道角度,但普通的 js 解决方案是

 <input type="datetime-local" data-name="dateStart" id="dateTimeStart"
const now = new Date();
now.setMinutes(now.getMinutes()-now.getTimeZoneOffset());
document.getElementById('dateTimeStart').value = now.toISOString().slice(0, 16);

我想这可以适用于 Angular!?


0
投票

根据 docs,您正在寻找的是一个名为

value
的 HTML 属性,
ngModel
也应该可以工作。

<input type="datetime-local" [value]="today"/>
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  today = new Date();
}

您可以在这里找到工作示例


0
投票

在基本HTML中

<input type="datetime-local">
你可以添加value属性并将其设置为“今天”

<input type="datetime-local" value="today">

这将使输入在页面加载时呈现今天的日期。

© www.soinside.com 2019 - 2024. All rights reserved.