【问题标题】:Angular 7 select tag default option value issueAngular 7选择标签默认选项值问题
【发布时间】:2019-04-27 01:59:50
【问题描述】:

首先,大家好。这是问题:我有 2 个选择标签。第一个选择标签有 2 个选项标签:第一个选项标签有一个用作默认值的值(占位符类型 +>“选择”或“选择”等),第二个选项标签是一个带有一些街道名称的 ngFor 循环。

第二个选择标签只有一个带有显示一些城市名称的 ngFor 循环的选项标签。

每当我点击城市名称时,街道选择标签都会在下拉列表中显示其街道名称。

在加载窗口的一开始,默认值选项(“select”)默认显示良好,但是一旦我选择了一个城市选项,街道选择标签的默认值“select”就会出现在里面下拉列表,但相应街道列表的第一个索引,默认显示。

实在是郁闷,找不到原因。

 <select class="dropdown-select" formControlName="street-dd">
  <option class="dropdown-select" disabled selected [ngValue]="null">Select</option>
    <option class="dropdown-select"  *ngFor="let street of retrievedStreets">{{street}}</option>
</select>

<select class="dropdown-select"(change)="onCitySelected($event)" formControlName="city">
  <option class="dropdown-select" *ngFor="let city of retrievedCities" [value]="city['city']">{{city["city"]}}</option>
</select>

这里是 TS 文件:

export class AddressComponent  {
  public retrievedCities: Array<any> = [];
  public retrievedStreets: Array<any> = [];

 private retrieveCities(cities: any) {
    this.retrievedCities = [];
    if (cities && cities.length > 0) {
      this.retrievedCities = cities;
    } 
  }

  public onCitySelected(city) {
    this.retrievedStreets = null;
      this.retrievedStreets = this.lookupStreets(city);
      console.log('retrieved street', this.retrievedStreets);
    this.retrievedStreets = this.retrievedStreets.sort();
  }

  private lookupStreets(city): Array<any> {
    return find(this.retrievedCities, {'city': city.target.value})['streets'];
  }
}

一开始没有问题默认值显示为占位符:

但是当我在下拉列表中选择街道选择的值,然后单击城市选择的另一个值时,街道列表的第一个索引显示为占位符,并且“选择”在下拉列表中显示为禁用:

当我点击街道的下拉列表时,我得到:

  • 选择//禁用
  • CH DU LAC-A-L'ORIGINAL // 第一个索引默认显示
  • 莫德街
  • 等等...

每次切换城市选项时,如何强制街道选择将“选择”作为默认值占位符???

谢谢大家

【问题讨论】:

    标签: angular angular7


    【解决方案1】:

    其实有一个解决方案:) 只需要在响应式表单的情况下重置表单控件:

    this.yourFormGroup.get('nameOfYourFormControl').reset()

    然后会重新拾取默认值。

    希望有一天能对某人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-13
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2017-02-05
      相关资源
      最近更新 更多