如何将默认值传递为 0 但不反映在 HTML

How to pass default value as 0 but not to reflect in HTML

我在 angular 工作,我将 0 作为反应形式 formControl 中的默认值传递。默认值反映在 HTML 输入中。一开始我不想在 HTML 输入字段中显示默认值。

我怎样才能做到这一点?

carnumbers: new FormControl('0', [Validators.minLength(1), Validators.maxLength(2), Validators.pattern("^[0-9]*$")])

注意:默认值必须为0

使用 null'' 并将其更改为默认值作为提交表单前的预处理步骤。

如果您不想在视图中显示默认值,您应该在 formControl 上使用 setValuepatchValueemitModelToViewChange:false 选项传递给它。

 carnumbers = new FormControl(null, [Validators.minLength(1), 
     Validators.maxLength(2), Validators.pattern("^[0-9]*$")]);

  ngAfterViewInit(){ 
      this.carnumbers.setValue(0,{emitModelToViewChange:false});
  } 

Working Simple Example