Angular 离子选择默认值不工作

Angular 离子选择默认值不工作,angular,typescript,ionic2,ionic3,Angular,Typescript,Ionic2,Ionic3,我有离子选择,有许多选项,我有当视图准备好选择一个默认值取决于CurrentNumber。我有以下代码: <ion-select formControlName="Level"> <ion-option [value]="level.id" *ngFor="let level of levels" [attr.selected]="(level.levelNumber == currentLevel)? true : null">

我有离子选择,有许多选项,我有当视图准备好选择一个默认值取决于CurrentNumber。我有以下代码:

<ion-select formControlName="Level">
          <ion-option [value]="level.id" *ngFor="let level of levels" [attr.selected]="(level.levelNumber == currentLevel)? true : null">
             {{level.name}}
          </ion-option>
</ion-select>

this.currentLevel = 1;

当数据准备就绪时,您可以在控件中设置默认选项,而不是选定的
属性:

// When the data is ready
this.yourForm.get('Level').setValue(data.id);

这将设置id等于
data.id
的选项作为默认值。

当数据准备就绪时,您可以在控件中设置默认选项,而不是所选的
属性:

// When the data is ready
this.yourForm.get('Level').setValue(data.id);

这将设置id等于
data.id的选项作为默认值。

然后有一个:直接从


雇员
{{employee.name}
compareFn(e1:Employee,e2:Employee):布尔值{
返回e1&&e2?e1.id==e2.id:e1==e2;
}

然后有一个例子:直接从


雇员
{{employee.name}
compareFn(e1:Employee,e2:Employee):布尔值{
返回e1&&e2?e1.id==e2.id:e1==e2;
}

您可以按如下方式执行:


{{level.name}

您可以按如下方式执行:


{{level.name}

我找到了一种使用占位符的方法


{{‘女性’|翻译}
{{‘男性’|翻译}
还必须添加以下样式以覆盖占位符的默认颜色

离子选择{ div.select-text.select-placeholder{ 颜色:获得颜色(黑色)!重要; } }

希望有帮助:)

我找到了一种使用占位符的方法


{{‘女性’|翻译}
{{‘男性’|翻译}
还必须添加以下样式以覆盖占位符的默认颜色

离子选择{ div.select-text.select-placeholder{ 颜色:获得颜色(黑色)!重要; } }

希望有帮助:)

只需执行以下操作:

HTML-

<ion-select formControlName="Level">
      <ion-option [value]="level.id" *ngFor="let level of levels" >
         {{level.name}}
      </ion-option>
</ion-select>

只需执行以下操作:

HTML-

<ion-select formControlName="Level">
      <ion-option [value]="level.id" *ngFor="let level of levels" >
         {{level.name}}
      </ion-option>
</ion-select>

当您的选项不是动态和静态时,您可以这样做-

在您的打字脚本中:-

this.myForm= this.formBuilder.group({
      selectOptionName: ['ValueHere', Validators.required]
    });
在HTML中:-

<ion-select formControlName = 'selectOptionName' value="ValueHere">
    <ion-select-option value="ValueHere">Value-1</ion-select-option>
    <ion-select-option value="ValueHere2">Value-2</ion-select-option>
 </ion-select>

价值-1
价值-2

当您的选项不是动态和静态时,您可以这样做-

在您的打字脚本中:-

this.myForm= this.formBuilder.group({
      selectOptionName: ['ValueHere', Validators.required]
    });
在HTML中:-

<ion-select formControlName = 'selectOptionName' value="ValueHere">
    <ion-select-option value="ValueHere">Value-1</ion-select-option>
    <ion-select-option value="ValueHere2">Value-2</ion-select-option>
 </ion-select>

价值-1
价值-2

谢谢Nicolas,我花了很多时间试图解决这个问题。占位符就是要走的路。工作完美听起来像一个丑陋的黑客,但老实说,这是我发现的最干净的方式,使其在ionic3+FormControl中工作。多亏了汉克斯·尼古拉斯,我花了很长时间试图解决这个问题。占位符就是要走的路。工作完美听起来像一个丑陋的黑客,但老实说,这是我发现的最干净的方式,使其在ionic3+FormControl中工作。非常感谢他的作品!感谢您对本作品的欣赏和简单的解决方法!感谢您简单的解决方法谢谢您的欣赏