禁用 React Native 文本输入,但仍然可以按回车键/退格键

Posted

技术标签:

【中文标题】禁用 React Native 文本输入,但仍然可以按回车键/退格键【英文标题】:Disable React Native textinput but still can press enter / backspace key 【发布时间】:2021-10-26 04:05:47 【问题描述】:

如题,这可能吗?

我知道可以通过设置禁用 React Native 文本输入

editable=false

但我需要让其他键(如 Enter 和 Backspace)同时工作。但我认为这不会起作用,因为将 editable 设置为 false 会有效地使输入始终模糊,因此无法使 onKeyPressonSubmitEditing 等属性起作用。

有解决办法吗?

【问题讨论】:

【参考方案1】:

你可以应用一个技巧。你需要在 value 属性中给它一个常量值。

import React from "react";
import  SafeAreaView, StyleSheet, TextInput  from "react-native";

const UselessTextInput = () => 
  const [text, onChangeText] = React.useState("Useless Text");
  
  return (
    <SafeAreaView>
      <TextInput
        style=styles.input
        onChangeText=onChangeText
        value=""
      />
    </SafeAreaView>
  );
;

const styles = StyleSheet.create(
  input: 
    height: 40,
    margin: 12,
    borderWidth: 1,
    padding: 10,
  ,
);

export default UselessTextInput;

【讨论】:

不工作..我将值设置为空格('')但它仍然不起作用。在我将可编辑设置为 false 后,我尝试按 Enter 但没有任何反应。 您必须删除可编辑属性或将其设置为true

以上是关于禁用 React Native 文本输入,但仍然可以按回车键/退格键的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WebView [React-Native] 中禁用用户文本选择

如何在 React Native 中强制禁用 iOS 暗模式

React Native 表单验证

如何在WebView中禁用用户文本选择[React-Native]

由于 React Native 使用像素或百分比作为单位,我们如何处理大文本输入的可访问性

当文本在 TextInput 中时,如何禁用 react-native AutoCorrect?