当用户创建帖子时,他们可以从可以发送帖子的潜在用户列表中进行选择。然后,允许用户编辑帖子,但是,我现在处理两个对象:一个包含所有潜在用户的列表,另一个包含在创建帖子时选择的用户列表。
我的问题:在编辑帖子时,如何让所有潜在用户都可以选择,但是在创建帖子时选择的用户已被选中?
<ion-select [(ngModel)]="post.To" [ngModelOptions]="{standalone: true}" multiple="true" cancelText="Cancel" okText="OK">
<ion-option *ngFor="let member of members.PotentialPeople" [value]="member">
{{ member.Name }}
</ion-option>
</ion-select>
&#13;
答案 0 :(得分:0)
我认为你要找的是像
[selected] =“member.Name == potentialMember.Name”
<ion-option *ngFor="let member of members.PotentialPeople" [value]="member" [selected]="member.name == potentialMember.Name">
请参阅以下帖子中Perrier的回答。
How to set default selected value of ion-option?
当用户创建所选用户的帖子(不同于潜在用户的整个列表)时,听起来您正在保存单独的列表。
因此,如果你添加[selected] =“(保存到发布的用户)==(所有可能的用户)”,那就应该预先选择已经与编辑后的帖子相关联的用户。
如果这不起作用,请告诉我。 感谢。
答案 1 :(得分:0)
所以在前端,使用[compareWith]
允许我将两个对象发送到控制器上的一个函数,然后比较两个对象。
在模板上:
<ion-select [(ngModel)]="post.To" [ngModelOptions]="{standalone: true}" [compareWith]="compareObjects" cancelText="Cancel" okText="OK">
<ion-option *ngFor="let member of members.PotentialPeople" [value]="member">
{{ member.Name }}
</ion-option>
</ion-select>
&#13;
在控制器上:
compareObjects(currentSelection, potentialSelection): boolean {
return currentSelection && potentialSelection ? currentSelection.Id === potentialSelection.Id : currentSelection === potentialSelection;
}
&#13;