如何在Android上的TextInput react-native中防止复制到剪贴板?

时间:2019-03-25 10:07:49

标签: android react-native clipboard

我想防止用户在TextInput中复制内容,但是它仅在iOS上有效,而在Android上无效。如何在Android中做到这一点?

[更新]:如下面的link @ patel-dhara所述,我已经阅读了有关 contextMenuHidden 属性的提交,发现仅处理 onLongClick 事件在Android上。因此,仍然可以通过双击在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('')}
/>

3 个答案:

答案 0 :(得分:0)

您可以使用TextInput的 contextMenuHidden 属性。它可以在Android平台和iOS平台上使用。

<TextInput contextMenuHidden={true} />

但是,反应本机版本0.55之后可能会支持它。有关更多信息,link。 提交相应的链接:link

答案 1 :(得分:0)

尝试一下:

<TextInput caretHidden={true} selectTextOnFocus={false} />

答案 2 :(得分:0)

使用此:

s

签出视图的指针事件: https://facebook.github.io/react-native/docs/view#pointerevents

另一个选择: 尝试清除剪贴板

<View pointerEvents="none">
  <TextInput ... />
</View>