Мне нужно использовать числовое поле в sencha extjs 6, но по умолчанию числовое поле допускает десятичный ввод. Мое приложение не требуется десятичный ввод. Пробовал allowDecimals: false,
Он может работать на текстовом поле. Существуют ли какие-либо конфиги или способы отключения ввода? Примечание: на ПК я могу написать метод для его предотвращения, но мое приложение работает на мобильное устройство поэтому я понятия не имею. Благодарю.Sencha Extjs 6 Как отключить десятичный ввод в поле чисел
2
A
ответ
2
Я настоятельно рекомендую использовать поле номера для этого случая. Конечно, это примет все символы в настольных браузерах. Но вы увидите, что это только принимает номера на мобильном телефоне, показывая цифровую клавиатуру.
Современные версии рамки Sencha Touch не обеспечивают десятичных параметров точности ... но есть способ преодолеть эту проблему. Просто разместите эти строки до того, как вы установите значения вашего номера.
Ext.form.Number.override ({
applyValue : function(value){
var minValue = this.getMinValue(),
maxValue = this.getMaxValue();
if (Ext.isNumber(minValue) && Ext.isNumber(value)) {
value = Math.max(value, minValue);
}
if (Ext.isNumber(maxValue) && Ext.isNumber(value)) {
value = Math.min(value, maxValue);
}
value = parseFloat(value).toFixed(0); // where 0 is your decimal precision value
return (isNaN(value)) ? '' : value;
}
});
В этом примере вы можете увидеть реализацию:
Ext.application({
name: 'Fiddle',
launch: function() {
Ext.form.Number.override({
applyValue: function (value) {
var minValue = this.getMinValue(),
maxValue = this.getMaxValue();
if (Ext.isNumber(minValue) && Ext.isNumber(value)) {
value = Math.max(value, minValue);
}
if (Ext.isNumber(maxValue) && Ext.isNumber(value)) {
value = Math.min(value, maxValue);
}
value = parseFloat(value).toFixed(0); // where 0 is your decimal precision value
return (isNaN(value)) ? '' : value;
}
});
Ext.create({
xtype: 'window',
width: 200,
height: 200,
items: [{
xtype: 'numberfield'
}]
}).show();
}
});
Смежные вопросы
- 1. Как отключить раздел `Modern` в Extjs-6
- 2. Extjs 6 Sencha Cmd и Spring Boot
- 3. Symfony 2 и sencha extjs 5/6
- 4. Выемка ExtJS ввод выпадающего поле
- 5. Как обновить Extjs 3 до Extjs 6
- 6. Отключить ввод в поле ввода
- 7. Как ограничить ввод цифр в поле extjs numberfield?
- 8. Как отключить планировщик привязки viewmodel в Sencha ExtJS v6.0.2?
- 9. Обновление с extjs 4 до extjs 6
- 10. Как предотвратить ввод отрицательных значений в поле номера extjs
- 11. ExtJS 6 тысяч разделитель в поле номера
- 12. Ввод строки в десятичный
- 13. Как преобразовать десятичный ввод в int?
- 14. Настройка проекта Sencha extjs
- 15. Разрешить ввод только чисел в поле ввода
- 16. Как изменить имя приложения EXTJS 6
- 17. Ввод текста автоматический десятичный
- 18. Как насчет sencha или Extjs?
- 19. Как отключить предупреждения доступности Aria в ExtJS 6
- 20. Sencha Dashboard - ExtJS 6 - динамическое добавление деталей и конфигурация чтения
- 21. Каков правильный способ запуска приложения Extjs 6 без sencha cmd?
- 22. Sencha ExtJs TextField KeyDown Event в FireFox
- 23. extjs 6 build конкатенировать в 1 файл
- 24. Sencha Touch и ExtJS
- 25. Sencha ExtJS Json Transformation
- 26. Sencha extjs scope scope
- 27. Отключить ввод клавиатуры в текстовое поле ASP
- 28. Сборка: как преобразовать шестнадцатеричный ввод в десятичный?
- 29. Sencha Extjs - правильные методы переопределения?
- 30. ExtJS 6 - Как динамически переключать язык интерфейса?
Спасибо за ваши отзывы, но так как я новичок в сенча вы можете показать мне, как это осуществить? –
@PhonSoyang, пожалуйста, отметьте ответ как правильно, если он работает, я добавил скрипку sencha, чтобы показать вам, как это работает. –
На самом деле, я не хочу десятичного ввода в поле чисел, но ваш валидатор на десятичной основе. –