gpt4 book ai didi

javascript - AngularJS 处理格式化数字输入

转载 作者:行者123 更新时间:2023-12-02 17:00:16 27 4
gpt4 key购买 nike

如何在 Angular 数字字段中允许使用“1,200”之类的值?

我的用户进行了大量的值复制/粘贴,他们喜欢整个数字格式。问题是,当这些格式化值之一被粘贴回时, Angular input[type=number] 的默认设置将引发错误。

这是一个从 this page: fork 出来的 plunk。

http://plnkr.co/edit/rcTrGHb9asRu4tIKPou8?p=preview

请注意,当您复制格式化值(例如它开头的 1,200)并将其粘贴回输入框中时,它会中断。

我怎样才能最好地处理这个问题?这似乎是以前就可以处理的事情,但我很难追踪到任何事情。我不需要任何坚固的东西。我可以修改输入文本以删除格式,并且可以采用标准 en-us 格式。

最佳答案

您可以在常规输入(type=text)字段上使用自定义指令,以始终将数据格式设置为数字

你的指令看起来像这样

angular.module('myApp').directive('myDirective', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModelController) {
ngModelController.$parsers.push(function(data) {
//convert data from view format to model format
return data; //converted
});

ngModelController.$formatters.push(function(data) {
//convert data from model format to view format
return data; //converted
});
}
}
});

Source

关于javascript - AngularJS 处理格式化数字输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com