【发布时间】:2019-08-13 18:26:56
【问题描述】:
我的应用程序中有一个自定义键盘(由按钮制成),我正在使用它将数值填充到 TextField 中。当按下按钮时,我在清理数据的同时设置TextField 的文本——确保只有 1 位小数,没有输入字母等。
但是,我现在正在尝试检测用户何时尝试粘贴到该字段中,以便我可以完全阻止它或在允许粘贴之前清理粘贴的文本。
到目前为止,我采用的方法是尝试在 NativeScript TextField 上实现 canPerformActionWithSender 方法。
我尝试了以下方法(我使用的是 NativeScript Vue):
<TextField
ref="amount"
hint="$0.00"
@loaded="onTextFieldLoaded"
@unloaded="onTextFieldUnloaded" />
还有……
onTextFieldLoaded(event) {
let textField = event.object
textField.focus()
nativeView.canPerformActionWithSender = (action, sender) => {
// `action` may be 'paste' so I can handle that action here
}
}
但这不起作用。有没有一种简单的方法可以在不创建自定义组件的情况下完成此操作?
【问题讨论】:
-
我认为您将不得不扩展
UITextField以覆盖此方法并在TextField类的createNativeView方法中返回相同的实例。
标签: nativescript textfield nativescript-vue