angular - ng2-auto-complete ngModel 不改变值

标签 angular angular2-template angular2-forms

我正在使用 ng2-auto-complete 模块。我有一个验证表单,并且想要在用户从查找数据中选择一个值(自动完成)时更改 ngModel 值。

我不想通过 valueChangedEvent 更改值,因为我多次使用此模块。我想将我的 ngModel 与自动完成值绑定(bind)。这怎么可能?

这不起作用:

<div ng2-auto-complete 
  [source]="getValue('country')"
  placeholder="enter text">
  <input [(ngModel)]="person.country" />
</div>

如果我选择一个值,person.country 不会改变。

提前致谢!

最佳答案

您可以尝试在输入事件上使用函数,如下所示:

<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; }
}

关于angular - ng2-auto-complete ngModel 不改变值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46149733/

相关文章:

angular - ng2-datepicker + Angular 4 不支持

Angular 2 中的 JavaScript 堆内存不足

angular - CdkDrag 更新位置

Angular 2 HTTP 属性 retryWhen 在类型 Observable<any> 上不存在

typescript - provide() 在 Angular 2 中做了什么?

Angular 2使用选择选项保留所选对象的值

javascript - Angular 2单元测试抛出错误 'subscribe'不是未定义的成员

javascript - 变量分布在相同的组件中

angularjs - Angular2 如何在 Guard 中获取目标 URL?

jquery - 数据表警告 : table id=DataTables_Table_1 - Cannot reinitialise DataTable. 不起作用