【发布时间】:2016-09-21 04:39:44
【问题描述】:
我一直在想,防止在 angular2 的数字输入中输入小数的正确方法是什么。
我可以添加某个事件或约束吗? 例如,当我只使用模式等时,它只会使该字段无效,但仍允许输入。
什么是防止这种情况的正确方法,只是你老,keyUp 事件和检查击键?
由于根据 cmets 的说法,要求模式或 w/e 是错误的,这就是我现在实现的并且像魅力一样工作
<input (keypress)="preventInput($event)" type="number" step="1">
使用 preventInput 为:
private preventInput(event) {
console.log(event.keyCode);
switch(event.keyCode) {
case 101: //e
case 46: //.
event.preventDefault();
break;
}
}
但这不会阻止输入 .通过粘贴,但对我们来说已经足够了。
【问题讨论】:
-
ngPattern怎么样? -
正如我在我的 OP 中已经说过的仍然允许输入值,我想防止这种情况发生。
-
那么在这种情况下,您需要向我们展示您尝试过的内容,因为您没有这样做... “您已经尝试过” 并不意味着 ”你以正确的方式尝试过”
-
不,我在问路要走,我可以轻松地添加一些东西以使其对我有用。我正在寻求有关最佳实践的建议。没有“尝试”好的做法。要么你追随一个,要么你不追随,如果你不知道哪个存在,你永远也不会。据我所知,您并不总是需要遇到无法解决的问题。至于现在,我将执行 (keyUp) 并检查事件键。不过感谢您的尝试。
标签: javascript html input angular