如何动态设置离子中的离子辐射?

时间:2018-10-26 09:04:06

标签: javascript angular ionic-framework ionic3

我有简单的用户列表:

<ion-scroll scrollY="true">
    <ion-item *ngFor="let user of listOfUsers" [(ngModel)]="selectedUser">
        <ion-label>{{ user.title }}</ion-label>
        <ion-radio value="{{ user.value }}" (ionSelect)="OnUserChanged(user)"></ion-radio>
    </ion-item>
</ion-scroll>

我想要做的是以某种方式设置默认情况下将选择特定用户。例如,默认情况下将选择listOfUsers[0]

我试图在不同的位置添加[(ngModel)]="selectedUser"并附加到listOfUsers[0]上,但是每次遇到不同的错误...

2 个答案:

答案 0 :(得分:0)

我认为使用FormControlName会更好。

您可以在其中为用户创建FormControlGroup,并为单选按钮创建FormControl。或者,如果用户没有其他任何属性,则只有FormControl。

然后可以使用formControl.SetValue()设置值。

答案 1 :(得分:0)

您可以设置单选按钮的选中属性:

<ion-scroll scrollY="true">
<ion-item *ngFor="let user of listOfUsers" [(ngModel)]="selectedUser">
    <ion-label>{{ user.title }}</ion-label>
    <ion-radio [checked]="checkDefault(user)" value="{{ user.value }}" (ionSelect)="OnUserChanged(user)"></ion-radio>
</ion-item>

在TS文件中,创建checkDefault()函数(为它提供所需的任何名称)。 在此功能中,可以检查用户是否为默认值,如果为true,则返回false。

  public checkDefault(user: User): boolean {
if(user.uniqueId === default.uniqueId) {
  return true;
} else return false;

};

如果这不能解决问题,或者如果您不想这样做,请告诉我。