Typescript Angular2 RC4使用默认值选择

Typescript Angular2 RC4使用默认值选择,typescript,angular,angular2-forms,Typescript,Angular,Angular2 Forms,我使用以下代码生成一个带有Angular2的select: <select class="form-control" [(ngModel)]="invoice.customer" formControlName="customer" required> <option *ngFor="let cus of customers" [ngValue]="cus"> {{cus.name}} </option> </select

我使用以下代码生成一个带有Angular2的select:

<select class="form-control" [(ngModel)]="invoice.customer" formControlName="customer" required>
    <option *ngFor="let cus of customers" [ngValue]="cus">
        {{cus.name}}
    </option>
</select>

{{cus.name}
发票是一个带有客户字段的对象(这是一个带有“名称”、“街道”、“城市”等字段的对象)

select已正确创建,如果我从下拉列表中选择客户,它将保存在“
invoice.customer
”中

这对于创建新发票很好,但是如果我想编辑发票,我希望invoice.customer中的客户设置为默认值

“selected”不起作用,据我所知,它会因为双向数据绑定而被忽略

“invoice”(with invoice.customer)是通过http请求在Ngonint方法中设置的,并且每个其他formcontrol(inputfields等)都正确地填充了来自它的数据

如果有新内容,我会使用
“@angular/forms”:“0.2.0”

我想这应该很简单,但我不能让它工作


提前感谢。

自动选择
invoide.customer
的值。您可以尝试使用
[value]=“cus”
代替
ngValue
<仅当
cus
是对象时,才需要code>ngValue。对于字符串值,
value
可以。否则,我想这需要一个突然袭击,因为它可能是由无法从提供的信息中获得的微妙细节造成的。@GünterZöchbauer感谢您的快速回答。cus是一个对象,所以值不起作用。但我正在尝试创建一个plnkr,但现在plnkr中的一切都按照预期工作,所以我必须尝试更多,直到我在应用程序中获得与plnkr相同的结果。如果
cus
是一个对象而不是
发票,则该应用程序可以作为plnkr。客户也需要是一个对象。事实上,对于默认值,它需要与它应该匹配的
[ngValue]=“…”
相同的对象实例。如果对象具有相同的属性和相同的值是不够的。@GünterZöchbauer yep,我想这分别是问题所在。这是plnkr和我的应用程序之间的区别。plnkr:应该知道,我将不得不尝试不同的方法,谢谢@derpawe我也有同样的问题,你能分享解决方案吗?