角度6-使用键盘输入关闭模态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了角度6-使用键盘输入关闭模态相关的知识,希望对你有一定的参考价值。
我用最少的代码复制了StackBlitz上的问题。
步骤1:在输入中输入单词,然后按键盘的Enter键
步骤2:将显示模式
步骤3:按键盘上的Enter键
在步骤2中,我得到以下错误:
ExpressionChangedAfterItHasBeenCheckedError:表达式已更改 经过检查后。先前的值:“ ng-untouched:true”。当前 值:'ng-untouched:false'。
步骤3应该关闭模态,但是模态关闭然后重新打开,但是,当我用鼠标按下确认按钮时,它会正确关闭模态。
答案
问题是您在输入事件上打开了模式,同时按下了[[confirm按钮上的回车,它关闭了模式但也触发了与您的文本框有关的事件。
(keyup.enter)=
所以就像当您按下Enter键时,先关闭模式,然后触发输入框事件,然后再按逻辑模式打开。您可以通过将事件更改为仅keyup来确认。然后使用每个键,您将遇到与报告输入相同的问题。
(keyup)=
另一答案
要处理ExpressionChangedAfterItHaHasBeenCheckedError:将更改值的方法放在set timeout内 setTimeout(() => {
// Method changing the value of property
},0);
以上是关于角度6-使用键盘输入关闭模态的主要内容,如果未能解决你的问题,请参考以下文章