Select 显示所选值的对象 Angular 2
Select shows object for selected value with Angular 2
我有一个 select 组件可以很好地加载值,但无论我输入什么值,它总是作为对象返回。我试过以下
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" [value]="i">{{ u.userName }}</option>
</select>
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" [value]="u">{{ u.userName }}</option>
</select>
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" value="{{i}}">{{ u.userName }}</option>
</select>
如果在 select 下面的页面上我输入 {{ p.selectedUser | json}}
它显示 [object object]
我的应用程序中到处都是这样的 select,所以我不确定我在这里遗漏了什么。 p.selectedUser 的值默认来自服务器,只是一个空字符串。
practiceUser 对象是这样的:{ userId: 1, userName: "Joe Smith" }
这里有截图供进一步参考。
第二种方法应该不错。您确定 p 中的数据正确吗?
好吧,我从来没有让它识别 u 的值,但我确实通过更改它来使用索引作为值:
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i = index;" [value]="i">{{ u.userName }}</option>
</select>
我有一个 of 而不是一个 =
我有一个 select 组件可以很好地加载值,但无论我输入什么值,它总是作为对象返回。我试过以下
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" [value]="i">{{ u.userName }}</option>
</select>
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" [value]="u">{{ u.userName }}</option>
</select>
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i of index;" value="{{i}}">{{ u.userName }}</option>
</select>
如果在 select 下面的页面上我输入 {{ p.selectedUser | json}}
它显示 [object object]
我的应用程序中到处都是这样的 select,所以我不确定我在这里遗漏了什么。 p.selectedUser 的值默认来自服务器,只是一个空字符串。
practiceUser 对象是这样的:{ userId: 1, userName: "Joe Smith" }
这里有截图供进一步参考。
第二种方法应该不错。您确定 p 中的数据正确吗?
好吧,我从来没有让它识别 u 的值,但我确实通过更改它来使用索引作为值:
<select [(ngModel)]="p.selectedUser">
<option *ngFor="let u of p.practiceUsers;let i = index;" [value]="i">{{ u.userName }}</option>
</select>
我有一个 of 而不是一个 =