Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何为角度中的Clarity Datepicker设置defualt值_Angular_.net Core_Clarity - Fatal编程技术网

Angular 如何为角度中的Clarity Datepicker设置defualt值

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

我目前有一个Angular 7项目,即.Net core 2.0,如果该项目使用Clarity组件,则用于设计样式

是否有人知道如何设置清晰日期选择器的默认值?

(我在angular中使用的是被动表单,它还使用验证来检查字段是否为空且不大于当前日期。)

我的HTML是什么样子的:

<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());