angular2选择值对象

时间:2016-03-15 10:10:04

标签: typescript angular plunker

真的很烦人!我有一个对象数组,我找到了这个解决方案:How to use select/option/NgFor on an array of objects in Angular2

但毕竟我做的与此相同,但是如果我记录我的$事件它是未定义的......可能是因为它是字符串化但在之后没有解析回来。

以下是我的代码示例:

<?php
while ($user = mysqli_fetch_assoc($userQuery)) {
?>
<tr>
    <td><?=$user['roepnaam']?></td>
    <td><?=$user['naam']?></td>
    <td><?=$user['bedrijf']?></td>
  </tr>
<?php
    }
?>

这是组件代码:

<div class="container">
<div class="row" *ngFor="#condition of conditions;#conditionindex = index">
    <div class="col-xs-3">
        <select class="form-control" [ngModel]="stringify(condition)" (ngModelChange)="onChange(conditionindex, $event)">
            <option *ngFor="#c of catalog;#catalogindex = index" [value]="stringify(c)">
                {{c.name}}
            </option>
        </select>
    </div>
    <condition-detail [condition]="condition"></condition-detail>
</div>

<a class="btn btn-primary" (click)="newCondition()"><i class="glyphicon glyphicon-plus"></i></a>

请帮帮我。 selectedCondition的控制台日志未定义。

2 个答案:

答案 0 :(得分:2)

使用最新的Angular2版本(测试版14),添加了对选择对象的支持。

答案 1 :(得分:1)

已经准备好了:)

这里是解决方案:

<select class="form-control" [ngModel]="condition.name" (ngModelChange)="onChange(conditionindex, $event)">
   <option *ngFor="#c of catalog;#catalogindex = index" [value]="c.name">
                {{c.name}}
   </option>
</select>

组件文件:

  onChange(conditionsIndex, selectedCondition:string): void {
    this.conditions[conditionsIndex] = this.catalog.find(condition => condition.name == selectedCondition);
}