我已阅读并尝试了平台上所有相关问题,但找不到解决方案。
问题就在这里;有一个 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 完全相同。那么为什么它没有默认选择呢?感谢您的阅读,请帮助我
最佳答案
按照说明尝试使用 compareWith
here 。与此示例类似:
<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;
}
关于javascript - 无法在 ionic 3 上设置 ionic 选择的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823942/