如何在离子选择上获得多个值

Posted

技术标签:

【中文标题】如何在离子选择上获得多个值【英文标题】:how to get multiple values on ion-select 【发布时间】:2018-05-21 01:00:21 【问题描述】:

我正在尝试使用 ion-select 和 ion-option 创建一个简单的创建组页面。

我的html

<ion-item>
  <ion-label>Select Friends</ion-label>
  <ion-select [(ngModel)]="selectedFriendsArray" multiple="true" cancelText="cancel" okText="ok">
    <ion-option *ngFor="let friend of myFriendsArray; let i = index" value="friend.$value" selected="false">friend.fullName (@friend.$key)</ion-option>
  </ion-select>
</ion-item>

就是代码,我可以成功获取myFriendsArray;那Array的结构是这样的; (console.log(myFriendsArray))

0: $value: "2MAHfzIraRO3lsYrlwhY6dlVUi52", fullName: "Walter White", userName: "wwhite", $key: "wwhite", $exists: ƒ
1:$value: "4TV40AiZb6a9IPNjhSGM7Q15EPz1", fullName: "Jesse Pinkman", userName: "test1", $key: "test1", $exists: ƒ
2:$value: "XKCk1bE0DvUKFTPTpFebkxLGI4J2", fullName: "Tony Soprano", userName: "test2", $key: "test2", $exists: ƒ
3:$value: "yICGapOLBaZae7EgdiRlGA4lmPF3", fullName: "Paulie", userName: "test4", $key: "test4", $exists: ƒ
4: $value: "JrdULejAG3ZXp3ws7foZAvhZb8w2", fullName: "Polat Alemdar", userName: "polat123", $key: "polat123", $exists: ƒ

当用户选择要添加的好友时,selectedFriendsArray 会这样登录控制台;

0: "4TV40AiZb6a9IPNjhSGM7Q15EPz1"
1: "XKCk1bE0DvUKFTPTpFebkxLGI4J2"
2: "yICGapOLBaZae7EgdiRlGA4lmPF3"

但我不想要那样,我想要完全那样;

1:$value: "4TV40AiZb6a9IPNjhSGM7Q15EPz1", userName: "test1"
2:$value: "XKCk1bE0DvUKFTPTpFebkxLGI4J2", userName: "test2"
3:$value: "yICGapOLBaZae7EgdiRlGA4lmPF3", userName: "test4"

因为我想在我的数据库中有这样的数据结构;

groups>groupid>members>memberuid: "memberusername"

我真的很喜欢 ion-option 但它只将 value="" 输入写入数组,我该怎么做?

感谢您阅读帮助我..

【问题讨论】:

【参考方案1】:

您可以使用value“构建”您想要的对象:

<ion-option *ngFor="let friend of myFriendsArray; let i = index" 
  [value]="$value: friend.$value, userName: friend.userName" selected="false">
  friend.fullName
</ion-option>

StackBlitz

【讨论】:

【参考方案2】:
<ion-item>
  <ion-label>Select Friends</ion-label>
  <ion-select [(ngModel)]="selectedFriendsArray" multiple="true" cancelText="cancel" okText="ok">
    <ion-option *ngFor="let friend of myFriendsArray; let i = index" value="friend.$value" selected="false" (ionSelect)="friedFun(friend)">friend.fullName (@friend.$key)</ion-option>
  </ion-select>
</ion-item>

ts 文件

friendFun(value)
    var myObj =  value: value.value, userName:  value.userName;

【讨论】:

它没有用。我不知道为什么.. 我应该使用 myObj 吗?

以上是关于如何在离子选择上获得多个值的主要内容,如果未能解决你的问题,请参考以下文章

如何从主选择页面隐藏离子标签并仅在选择模式标题上显示

如何设置评级星并获得离子V2的价值?

离子 4 如何更改:css 中的阴影 dom?

离子:如何在多条线上显示离子项?

如何在离子中定位多个视图

如何使用语音识别填充所有离子表单字段?