@Page中的select输入很少,除了存储所选选项的值(如{{project.title}} )之外,我还需要返回另一个选定的对象属性,如{{project.id}}或整个对象。
如果我用的是前男友。(change)='DoThing($event)',它只返回带有project.title的字符串。我不能放{{object.id}},它会生成运行时错误。
我使用的代码:
<ion-item>
<ion-label>Project</ion-label>
<ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing()'>
<ion-option *ngFor='#project of myProjects' value="{{project.title}}">{{project.title}}</ion-option>
</ion-select>
</ion-item>我确信这在某种程度上是可行的,但是在查阅了很少的ANG2表单教程之后,我不知道如何做到这一点。谢谢!
发布于 2016-05-24 13:21:01
您不能引用*ngFor从外部*ngFor创建的一个项,这是预期的。
您可以使用从project.title获得的$event从myProjects查找项目。我想最好把id分配给value
value="{{project.id}}"然后你从project.id得到$event。
<ion-item>
<ion-label>Project</ion-label>
<ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing($event)'>
<ion-option *ngFor='#project of myProjects' value="{{project.id}}">{{project.title}}</ion-option>
</ion-select>
</ion-item>..。
DoThing(id) {
let project = this.myProjects.find((prj) => { return prj.id == id; });
...
}发布于 2016-05-24 13:21:33
您可以尝试以下几种方法:
<ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing()'>
<ion-option *ngFor='#project of myProjects'
[attr.value]="project.title">{{project.title}}</ion-option>
</ion-select>编辑
您的错误说明您使用了以下内容:
(change)='DoThing({{project.id}})'但是project只能在选项中的ngFor级别上使用.
发布于 2016-05-24 13:22:40
给您的ion-select指定一个名称,并将其传递给DoThing():
<ion-select name="selectTime" [(ngModel)]="newTrackedTime.project" (change)='DoThing(selectTime)'>您将获得整个select DOM对象,您可以探索它的子对象以找到选中的DOM对象及其属性。
https://stackoverflow.com/questions/37414445
复制相似问题