相关疑难解决方法(0)

Angular2 Reactive表单 - 使用下拉列表设置表单字段的默认值

如何在角度2反应形式中为所有表单字段设置默认值?

这是重现问题的plnkr

下面的代码不会更新下拉列值,因为它有一个与之关联的对象.

注意:这里我需要使用从Backend API收到的响应为所有表单字段设置默认值.

Component.html

<form [formGroup]="myForm" novalidate (ngSubmit)="save(myForm.value, myForm.valid)">
    <div class="form-group">
        <label>Country:</label>
        <select formControlName="country">
          <option *ngFor="let country of masterCountries" [ngValue]="country">{{country.countryName}}</option>
        </select>
    </div>

    <div class="form-group">
      <label for="">Name</label>
      <input type="text" class="form-control" formControlName="name">
      <small [hidden]="myForm.controls.name.valid || (myForm.controls.name.pristine && !submitted)" class="text-danger">
            Name is required (minimum 5 characters).
          </small>
      <!--<pre class="margin-20">{{ myForm.controls.name.errors | json }}</pre>-->
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
    <div class="margin-20">
      <div>myForm details:-</div>
      <pre>Is myForm valid?: <br>{{myForm.valid | json}}</pre>
      <pre>Is myForm submitted?: <br>{{submitted | json}}</pre>
      <pre>myForm value: <br>{{myForm.value | json}}</pre>
    </div> …
Run Code Online (Sandbox Code Playgroud)

typescript angular2-forms angular

26
推荐指数
4
解决办法
5万
查看次数

Angular 2 - FormControl setValue'only'Self'参数

尝试理解传递给setValue时'onlySelf'参数的作用.

this.form.get('name').setValue('', { onlySelf: true })
Run Code Online (Sandbox Code Playgroud)

文档说:"如果onlySelf为true,则此更改只会影响此FormControl的验证,而不会影响其父组件.默认为false."

但是我很难理解这一点.使用Angulars的模型驱动形式仍然相当新.

forms setvalue angular

19
推荐指数
2
解决办法
2万
查看次数

Angular 4-在下拉列表中找到选定的值

我正在使用Angular 4反应形式创建一个下拉列表

<select id="city" formControlName="city" (change)="onCitySelect($event)" >
    <option *ngFor="let city of cities" [ngValue]="city" >
        {{ city }} 
    </option>
</select> 
Run Code Online (Sandbox Code Playgroud)

在下拉列表中选择一个值时,我想调用一个方法并显示所选值。

这是我的代码

onCitySelect(event) {
    console.log(event.target.value);
}
Run Code Online (Sandbox Code Playgroud)

我希望它能打印下拉列表中所示的城市名称。但是,它似乎也显示索引号。例如,

2: London
Run Code Online (Sandbox Code Playgroud)

而不是London下拉列表中实际显示的内容。

没有索引如何获取城市名称?

selectedvalue drop-down-menu angular angular-reactive-forms

2
推荐指数
1
解决办法
1万
查看次数

创建表单后如何在离子选择中设置默认值?

我正在尝试使用formControl使该选项在Ionic Select 中显示为选中状态,但是它不起作用,该值是在表单中设置的,当我键入 console.log (this.form) 时,该字段的值会出现,但是它没有出现在 select 中,是空白的。

我正在使用 ionic 4 版本。

在此处输入图片说明

HTML:

<!-- Analysis Mode -->
<ion-col size="12">
  <ion-label class="custom-label" stacked>Modo de Análise</ion-label>
  <ion-select formControlName="analysis_mode" interface="popover">
    <ion-select-option value="1">Aleatório</ion-select-option>
    <ion-select-option value="2">Sequencial</ion-select-option>
  </ion-select>
 </ion-col>
Run Code Online (Sandbox Code Playgroud)

形式:

this.form = this.formBuilder.group({
  analysis_mode: new FormControl(null, Validators.required),
  value: new FormControl(null, Validators.required),
});


this.form.controls['analysis_mode'].setValue(1);
Run Code Online (Sandbox Code Playgroud)

ionic-framework angular ionic4

1
推荐指数
1
解决办法
1760
查看次数