【发布时间】:2018-08-01 07:26:23
【问题描述】:
我在我的 Angular 5 应用程序上使用 https://www.npmjs.com/package/ng2-auto-complete,这就是我的输入的工作方式
HTML:
<input
id="shipper"
type="text"
class="form-control"
formControlName="shipper"
auto-complete
[source]="searchShipper.bind(this)"
value-formatter="name"
list-formatter="(id) name"
(valueChanged)="onShipperSelected($event)"
autocomplete="off"
/>
现在我需要在不使用 [(ngModel)] 的情况下选择一个默认值,因为在 Angular 6 中不推荐使用它与 formControlName 一起使用。当我使用它时它可以工作:
[(ngModel)]="defaultValue"
当我尝试使用 patchValue 设置默认值时:
const obj = {id: '1', name: 'test'};
this.form.patchValue({
shipper: obj.toString()
});
或
const obj = {id: '1', name: 'test'};
this.form.patchValue({
shipper: obj
});
它在输入字段上显示[object Object],
有什么办法可以在反应形式上解决这个问题?
【问题讨论】:
-
value-formatter="name",表示它使用了所选对象中的键'name'
标签: angular autocomplete angular-reactive-forms