禁用React-Native文本输入上的选项

时间:2017-03-19 07:03:57

标签: javascript reactjs react-native textinput

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

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

enter image description here

7 个答案:

答案 0 :(得分:36)

您应该添加2个属性 selectTextOnFocuseditable

例如:

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

答案 1 :(得分:8)

只需为textinput提供属性editable={false}

即可

答案 2 :(得分:8)

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

<强>更新 这尚未包含在发布中。通过单击link并查看标记,您始终可以查看任何提交的版本。所以我不希望它在0.55之前稳定发布。

<TextInput contextMenuHidden={true} />

在此处检查提交:Add option to hide context menu for TextInput

答案 3 :(得分:5)

TextInput的父<View pointerEvents="none"> <TextInput ... /> </View> 上将pointerEvents设置为无以禁用触摸事件,请考虑以下示例:

kubectl proxy

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

这个技巧对我有用。在这里,我正在使用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}