Разрешить только числовые значения в TextField - PullRequest
0 голосов
/ 02 мая 2019

Как я могу ограничить ввод в TextField только числовыми значениями? Часто предлагаемая рекомендация / решение для этого состоит в том, чтобы установить для свойства keyboardType значение «number», однако это не работает на iOS. Я все еще могу ввести любой символ в TextField.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Самый простой способ - прослушать событие textChange и переписать любые нечисловые символы в тексте, например,

function onTextChange(args: PropertyChangeData) {
    let value: any = parseFloat(args.value);
    if (isNaN(value)) {
        value = '';
    } else {
        value = value.toString();
    }
    if (value != args.value) {
        const object = <any>args.object;
        object.text = value;
        if (object.android) {
            object.android.setSelection(value.length);
        }
    }
}

Образец игровой площадки

0 голосов
/ 02 мая 2019

Для iOS это может быть полезно: https://github.com/EddyVerbruggen/nativescript-numeric-keyboard - это плагин, который превращает клавиатуру в строгую числовую, и вы также можете настроить некоторые ее функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...