我想阻止用户复制TextInput中的内容,但它只适用于iOS,而不适用于Android。我该如何在Android上做到这一点?
[更新]:正如link@patel-dhara在下面给出的,我已经阅读了关于contextMenuHidden属性的提交,发现它只处理Android上的 * onLongClick * 事件。因此,仍然可以通过双击它在TextInput上执行copy to clipboard
。
- 以下是我的代码:**
<TextInput
style={styles.input}
placeholder="Password"
placeholderTextColor="rgba(255, 255, 255, 0.7)"
underlineColorAndroid="transparent"
secureTextEntry={isHidePass}
returnKeyType="go"
autoCapitalize="none"
onChangeText={this.handleTextChange}
onSubmitEditing={this.handleLogin}
ref={this.passwordRef}
contextMenuHidden
onBlur={() => Clipboard.setString('')}
onFocus={() => Clipboard.setString('')}
onSelectionChange={() => Clipboard.setString('')}
/>
5条答案
按热度按时间epggiuax1#
您可以使用TextInput的contextMenuHidden属性。它将在Android和iOS平台上工作。
但是,它可能是react-native版本0.55后支持.更多信息link.提交链接:link
j8yoct9x2#
试试这个:
0pizxfdo3#
使用此:
checkout 视图的指针事件:www.example.comhttps://facebook.github.io/react-native/docs/view#pointerevents
另一种选择:尝试清除剪贴板
f87krz0w4#
如果你想避免粘贴下面的解决方案为我工作。我正在清除键盘上的onTouchEnd事件
tkclm6bt5#
我发现解决这个问题的方法是从TextInput使用onFocus来清除剪贴板,这样我就不需要阻止用户粘贴,因为即使他这样做剪贴板也是空的。
您可以对onBlur执行相同的操作,以防止复制的内容被粘贴。