当前位置: 首页 > 知识库问答 >
问题:

禁用react native上的按钮

邓昊天
2023-03-14


我使用文本输入组件来接受来自用户的文本,并且只有当文本输入匹配某个字符串时,按钮才应该被启用。
我可以思考通过在没有TouchableOpactiy包装器的情况下初始渲染按钮,一旦输入字符串匹配,就用包装器重新渲染。
但是我猜有更好的方法来做到这一点。有人能帮忙吗?

共有3个答案

訾安邦
2023-03-14

这似乎是一种可以用高阶组件解决的问题。虽然我可能是错的,因为我自己正在努力100%地理解它,但也许它会对你有所帮助(这里有几个链接)。。。

  • http://www.bennadel.com/blog/2888-experimenting-with-higher-order-components-in-reactjs.htm
孔鹤龄
2023-03-14

就这么做吧

<TouchableOpacity activeOpacity={disabled ? 1 : 0.7} onPress={!disabled && onPress}>
  <View>
    <Text>{text}</Text>
  </View>
</TouchableOpacity>
宰父宾实
2023-03-14

TouchableOpacityextenstsTouchableWithoutFeedback,因此您可以只使用disabled属性:

<TouchableOpacity disabled={true}>
  <Text>I'm disabled</Text>
</TouchableOpacity>

React Native TouchableWiathtFeedback#禁用留档

新的可按API也有一个禁用的选项:

<Pressable disable={true}>
  {({ pressed }) => (
    <Text>I'm disabled</Text>
  )}
</Pressable>
 类似资料:
  • 问题内容: 我有一个asp按钮。它是服务器端的,因此我只能向登录的用户显示它,但是我希望它运行javascript函数,并且似乎在runat =“ server”时始终调用回发事件。 我还有一个常规按钮(>)不在服务器上运行,并且工作正常… 如何使此按钮仅运行javascript而不能回发? 问题答案: 完成后,让您的JavaScript返回false。

  • 问题内容: 单击后,我想在iOS上禁用按钮()。我是开发iOS的新手,但我认为目标上的等效代码-C是这样的: 但是我不能迅速做到这一点。 问题答案: Swift中的布尔值是。 应该做。 这是的属性的Swift文档。

  • 我正在用javaFX在netbeans中编写一个程序视图中有几个按钮和一些坏按钮(比如炸弹是扫雷舰),我试图在按下坏按钮时冻结程序,但我找不到如何操作 谢谢

  • 新建一个React Native工程,参考React Native 官网 react-native init hello cd hello yarn add baidumobstat-react-native react-native link 进入新建的目录,打开ios目录下的hello.xcodeproj工程,在iOS工程的Linked Frameworks and Libr

  • 问题内容: 单击后,我编写了以下代码以禁用网站上的提交按钮: 不幸的是,它没有发送表格。我怎样才能解决这个问题? 编辑 我想绑定提交,而不是表格:) 问题答案: 做到: 发生的事情是您实际上在完全触发该提交事件之前禁用了该按钮。 您可能还应该考虑使用ID或CLASS来命名元素,因此不要在页面上选择所有提交类型的输入。 (请注意,我使用,因此该表单在示例中并未实际提交;请在使用时将其保留。)

  • 问题内容: 我正在android studio中构建一个登录样式的应用程序。作为此过程的一部分,我创建了一个规则,如果用于监视无效登录尝试次数的计数器变为0。我目前知道,当计数器变为0时,将禁用登录按钮。我想知道是否有某种方式可以在设定的时间内(而不是无限期)禁用此按钮? 问题答案: 使用以下代码。当您将活动或片段放在OnCreate()方法中时,它将在5秒钟后禁用按钮。