我已经在平台上阅读并尝试了所有相关问题,但无法找到解决方案。
这是问题所在;有一个groupmembers数组,登录用户在其中(不是多个)。我希望默认选择的选项是他。但我不能这样做。
这是我的HTML;
<ion-item>
<ion-label>Payer:</ion-label>
<ion-select [(ngModel)]="payerInfo" cancelText="Vazgeç" okText="Tamam">
<ion-option *ngFor="let member of groupMembersArray; let i = index" [value]="{payeruid: member.$key, payername: member.fullName, payerusername: member.username}" selected="member.$key==myUid">{{member.fullName}}</ion-option>
</ion-select>
</ion-item>
这是.ts相关代码;
payerInfo: any;
我甚至在构造函数中定义了payerInfo和myuid;
this.myUid = this.afAuth.auth.currentUser.uid;
this.afDatabase.object(`users/${this.myUid}/profile`).subscribe(data => {
this.payerInfo = {payeruid: this.myUid, payername: data.fullName, payerusername: data.username};
});
console.log(this.payerInfo)
控制台打印成功地为我提供了登录用户的数据,并且与ngModel payerInfo完全相同。那为什么它没有默认选择?感谢您的阅读请帮助我
答案 0 :(得分:1)
按照here的说明尝试使用compareWith
。与此示例类似:
<ion-item>
<ion-label>Employee</ion-label>
<ion-select [(ngModel)]="employee" [compareWith]="compareFn">
<ion-option *ngFor="let employee of employees" [value]="employee"></ion-option>
</ion-select>
</ion-item>
compareFn(e1: Employee, e2: Employee): boolean {
return e1 && e2 ? e1.id === e2.id : e1 === e2;
}