我已经在平台上阅读并尝试了所有相关的问题,但找不到解决方案。
这就是问题所在;这里有一个组成员数组,并且登录的用户在其中(不是多个)。我希望默认选择的选项是他。但我不能这么做。
这是我的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完全相同。那么为什么它没有默认的select呢?感谢阅读,请帮助我
发布于 2017-12-15 08:35:57
试着像解释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;
}https://stackoverflow.com/questions/47823942
复制相似问题