gpt4 book ai didi

angular - Nativescript Angular 可以在文本更改事件发生之前拦截它吗?

转载 作者:太空狗 更新时间:2023-10-29 18:30:00 26 4
gpt4 key购买 nike

我有 TextField 使用 Angular nativescript。

<TextField   (textChange)="onTextChange($event)" ></TextField>

我只想允许将“a”字符插入该 TextField。
所有其他字符(“b”、“c”、....)都应该被阻止——意思是——被阻止插入。

我已经知道我可以使用 (textChange) 事件然后删除字符 - 但这是一个太迟的事件

问题:

假设我有一个文本字段,我如何跨平台防止输入某些字符?

最佳答案

对于 Android,您可以通过为 android.widget.EdittextsetKeyListener 明确设置允许的实例来实现(这是 TextField 背后的原生 Android 控件 在 NativeScript 中)

举个例子

export function onTfLoaded(args) {
let tf = <TextField>args.object;

let nativeTF;

if (isAndroid) {
let nativeTF = <android.widget.EditText>tf.nativeView; // on Android is android.widget.EditText
nativeTF.setKeyListener(android.text.method.DigitsKeyListener.getInstance("zxc"));
} else {
let nativeTF = <UITextField>tf.nativeView;// for iOS is UITextField
}

}

以上是将允许用户仅输入 ZXC(工作方式相同 as setting digits ),但是,该解决方案仍将提示数字键盘。

关于angular - Nativescript Angular 可以在文本更改事件发生之前拦截它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48782985/

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