javascript - 第一次单击新组件时如何使新组件弹出选项列表?
问题描述
我的来源就在这里。
我有一个输入框,我把很多特征放到输入框(左边那个)。
我想把它打包成一个组件(正确的)。
幸运的是,除了第一次点击响应之外,新组件正常工作。
第一次点击输入框时,原来的输入框会弹出一个选项列表。
但是,新组件在第一次单击组件时不会弹出选项列表,
在第一次单击或按下某个键时,该组件将弹出一个选项列表。
我该如何解决这个问题?
解决方案
您的问题在于生命周期挂钩。当你this.filteredDivisionList = this.divisionList;
在组件构造函数中赋值时,this.divisionList
isundefined
或null
,使用ngOnChnages()
生命周期钩子来赋值input()
,因为这个方法:
当 Angular(重新)设置数据绑定输入属性时做出响应。该方法接收SimpleChanges
当前和先前属性值的对象。ngOnInit()
在一个或多个数据绑定输入属性更改之前和任何时候调用。''
推荐阅读
- c - C 标准为具有十六进制转义序列的字符常量的值指定了什么?
- javascript - 当 nvmrc 改变时如何让 nvm 运行?
- sql - 如何在每 5 分钟运行一次的 SQL Server 代理作业中只更新一次列
- f# - F#:如何在运行测试时实际初始化 XUnit 测试函数上面定义的变量?
- ios - 多次或单次打开sqlite数据库?
- python - 如何更改熊猫列中数字的格式?
- travis-ci - travis 上的 Codesign 挂起构建
- sql - Sql根据其他两个ID的两列获取MAX和MIN值
- python - 高效地查找多个维度上的邻居并根据邻近度计算值的总和
- visual-studio - 在 Visual Studio 中,您在哪里可以看到“调试”和“发布”的实际作用?