首页 > 解决方案 > 第一次单击新组件时如何使新组件弹出选项列表?

问题描述

我的来源就在这里

我有一个输入框,我把很多特征放到输入框(左边那个)。

我想把它打包成一个组件(正确的)。

幸运的是,除了第一次点击响应之外,新组件正常工作。

第一次点击输入框时,原来的输入框会弹出一个选项列表。

但是,新组件在第一次单击组件时不会弹出选项列表,

在第一次单击或按下某个键时,该组件将弹出一个选项列表。

我该如何解决这个问题?

标签: javascriptangularangular-forms

解决方案


您的问题在于生命周期挂钩。当你this.filteredDivisionList = this.divisionList;在组件构造函数中赋值时,this.divisionListisundefinednull,使用ngOnChnages()生命周期钩子来赋值input(),因为这个方法:

当 Angular(重新)设置数据绑定输入属性时做出响应。该方法接收SimpleChanges当前和先前属性值的对象。ngOnInit()在一个或多个数据绑定输入属性更改之前和任何时候调用。''


推荐阅读