繁体   English   中英

禁用 React-Native 文本输入选项

[英]Disable Options on React-Native Text Input

我正在为一个项目使用 TextInput,并希望禁用任何类型的文本选择或操作,例如(剪切/复制/粘贴/共享),如下面的屏幕截图中所共享。

我在 react-native 官方文档中找不到任何内容

在此处输入图片说明

您应该添加 2 个属性selectTextOnFocuseditable

例如:

<TextInput editable={false} selectTextOnFocus={false} />

contextMenuHidden是禁止用户将文本粘贴到某些字段并隐藏上下文菜单。

更新:这尚未包含在版本中。 您始终可以通过单击链接并查看标签来查看任何提交所在的版本。 所以我不希望它在 0.55 之前稳定发布。

<TextInput contextMenuHidden={true} />

在此处检查提交: 添加选项以隐藏 TextInput 的上下文菜单

只需给你的 textinput 属性editable={false}

TextInputView 上将 pointerEvents设置为 none 以禁用触摸事件,请考虑以下示例:

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

您可以使用 View 并使用 removeClippedSubviews={true} (适用于 Android)并使用 contextMenuHidden={true} (适用于 IOS)

<View removeClippedSubviews={true}> <TextInput contextMenuHidden={true} /> </View>

如果要禁用所有操作(如剪切粘贴复制),请使用caretHidden={true} 它也会隐藏您的光标

这个技巧对我有用。 这里我使用的是 NativeBase。 将此<TextInput>保留在<Item>标签内。 现在选择属性应该不起作用。

下面附上代码示例。

<Item>
<Input
  value={this.props.call_state.destination}
  onChangeText={text => this.props.setDestination(text)}
  returnKeyType={"done"}
  keyboardType={"numeric"}
/>
</Item>

您应该先安装 nativebase,然后在组件中从 native-base 导入{Item}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM