我正在使用ng2-auto-complete模块。我有一个验证表单,当用户从查找数据中选择一个值(自动完成)时,我想更改ngModel值。
我不想通过valueChangedEvent更改值,因为我不止一次使用此模块。我想用自动完成值绑定我的ngModel。这怎么可能?
这不起作用:
<div ng2-auto-complete
[source]="getValue('country')"
placeholder="enter text">
<input [(ngModel)]="person.country" />
</div>
如果我选择一个值,则person.country不会改变。
提前谢谢!答案 0 :(得分:2)
您可以尝试在输入事件上使用函数,如下所示:
<input [(ngModel)]="person.country" #myInput (input)="changeModel(myInput.value)"/>
// TS
changeModel(value: string) { this.person.country = value; }
或者您可以使用OnChange实现
export class MyClass implements OnChanges {
// ...
ngOnChanges(changes: SimpleChanges) { this.person.country = changes.allResults.currentValue; }
}
答案 1 :(得分:0)
像这样更改你的代码
<div
placeholder="enter text">
<input [(ngModel)]="person.country" ng2-auto-complete
[source]="getValue('country')" />
</div>
ng2-auto-complete标签和来源应与输入字段一起出现。