Angular反应形式默认输入值

时间:2018-07-13 07:51:23

标签: angular

你好,我有角反应形式,我的代码如下:

this.rForm = fb.group({
  'membership' : '',
  'pointed' : '',
});

所以提交表单后我就得到了价值

this.selectedMembership = this.rForm.get('membership').value;
this.pointed = this.rForm.get('pointed').value;

html代码如下:

    <div class="membership">
            <div *ngFor="let m of membership | async" class="membershipBtnGroup " data-toggle="buttons">
                <input  type="radio" formControlName="membership" value="{{ m.level }}" id="{{ m.title }}" class="input-hidden" />
                <label  for="{{ m.title }}">
                    <img src="{{ m.imageUrl }}">
                    <br><br>
                    <input type="text" pattern="[0-9]*" formControlName="pointed" value="{{ m.points }}" class="form-control pointed">

                </label>                                                 
            </div>        
    </div>

因此,在单击图像时,它正在选择单选输入并获得m.level的值。 当单击图像另一个文本输入“指向”时,我有一个小的CSS代码,“ pointed”显示的是默认的宽度m.points值,但是如果我将文本输入更改为其他值,它将保存该值,但是如果我不触摸也不更改,它就是不保存默认值

<input type="text" pattern="[0-9]*" formControlName="pointed" value="{{ m.points }}" class="form-control pointed">

所以当我点击图片

<img src="{{ m.imageUrl }}">

它显示无线电和文本输入,无线电数据正确保存,但文本输入数据(宽度默认值,如果我未触摸)未保存。

如果我不触摸并且不更改输入,我想获取默认值,但是如果我要更改输入,则必须保存新值。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用new FormControl()

this.rForm = fb.group({
   'membership' : new FormControl('def value'),
   'pointed' : ['def value', Validators.required ],,
});

您还将在文档中获得更多详细信息选项

下面是文档here

的链接