Angular 如何为角度中的Clarity Datepicker设置defualt值
我目前有一个Angular 7项目,即.Net core 2.0,如果该项目使用Clarity组件,则用于设计样式 是否有人知道如何设置清晰日期选择器的默认值? (我在angular中使用的是被动表单,它还使用验证来检查字段是否为空且不大于当前日期。) 我的HTML是什么样子的:Angular 如何为角度中的Clarity Datepicker设置defualt值,angular,.net-core,clarity,Angular,.net Core,Clarity,我目前有一个Angular 7项目,即.Net core 2.0,如果该项目使用Clarity组件,则用于设计样式 是否有人知道如何设置清晰日期选择器的默认值? (我在angular中使用的是被动表单,它还使用验证来检查字段是否为空且不大于当前日期。) 我的HTML是什么样子的: <clr-date-container> <label>Service Date</label> <input type="date" clrDate form
<clr-date-container>
<label>Service Date</label>
<input type="date" clrDate formControlName="fromDateField"
[clrDate]="ValidateFromDateField()" />
<clr-control-error>{{this.errorMsgFromdate}}</clr-control-error>
</clr-date-container>
我确实尝试过使用setValue()方法,但它在控制台中给了我一个错误,说setValue不是Clarity datepicker的有效属性。验证是在blur上完成的,但blur在日期选择器上不起作用,所以我使用[clrDate]调用验证方法。使用[formControl]并将其绑定到在component.ts中创建的formControl
<clr-date-container>
<label>Service Date</label>
<input type="date" clrDate
[formControl]="myDateField"
id="date" name="date"
[(ngModel)]="date"
[clrDate]="ValidateFromDateField()" />
<clr-control-error>{{this.errorMsgFromdate}}</clr-control-error>
</clr-date-container>
并使用以下内容修补该值:
this.myDateField.patchValue('02/02/2019');
还请记住,如果日期错误,日期选择器将根据文档返回空值:
Date picker emits null when an invalid date is entered after a valid date was set.
因此,请务必检查您使用的是3种格式中的哪种格式,因为即使是正确的日期,它也不会为您解析任何格式,angular的默认值为:
年月日
您可以在官方文档中阅读更多信息:这里您需要将默认日期绑定到ngModel,如下所示
Date picker emits null when an invalid date is entered after a valid date was set.
<form class="compact">
<section class="form-block">
<div class="form-group">
<label for="date">Date:</label>
<input type="date" id="date" [(ngModel)]="defaultDate" [ngModelOptions]="{standalone: true}" clrDate>
</div>
</section>
</form>
这是最简单的解决方案,希望对您有所帮助 如果您想使用重现表单,则必须在父模块中添加
ReactiveFormsModule
此外,您还需要在html模板中声明一个fromGroup,并按照上面的解决方案最初为控件赋值。只需执行以下操作:
this.myForm = formBuildr.group({
myDateControl: [new Date().toLocaleDateString()]});
或
您是否尝试过[(ngMode)]=“currentDate”就像在你的代码中一样?如果解决方案对你有效,那么请接受答案,这样其他人就会从中受益感谢我在stackblitz上更新了解决方案请检查@TheParam\u它不起作用ngModel在Angular 7中与被动From一起使用时已被删除…得到以下错误=被动形式指令在Angular中已被弃用Angular v7将删除v6和v6。我认为您对Angular不支持ngModel与formControlName一起使用而不是完全不支持ngModel这一事实感到困惑。我提供的stackblitz解决方案请检查您是否不会得到这样的支持warning@TheParam_sorry我理解错了,但是我在我的项目中使用formControlName和Date字段以及所有其他字段来完成我的任务validations@Robert_It不起作用在Angular 7中与被动形式一起使用时,ngModel已被删除…出现以下错误=被动形式指令在Angular v6中已被弃用,并将在Angular v7中删除。是不推荐使用,我认为您使用的是模板驱动的表单。我的错,我编辑了答案。只需删除您的formControlName并添加[formControl],就像我的示例一样。
defaultDate = '06/14/1989';
this.myForm = formBuildr.group({
myDateControl: [new Date().toLocaleDateString()]});
myDateField = new FormControl(new Date().toLocaleDateString());