react-native - 如果文本输入为空字符串,则在设备上反应本机禁用提交键盘
问题描述
像标题一样,如果文本输入为空字符串,我想禁用设备键盘上的提交按钮(搜索)。我创建了一个搜索栏并使用了 TextInput。
我怎样才能做到这一点?
解决方案
你应该有 2 个状态(textSearch 和 buttonStatus)并检查每onChangeText
一个TextInput
道具
这是我使用过的简单代码:
import React, {Component} from 'react';
import RN, {View, StyleSheet, Text} from 'react-native';
export default class History extends Component {
constructor(props) {
super(props);
this.state={
search:null,
disabledButton:true
}
}
render(){
return(
<View style={styles.container}>
<RN.TextInput
value={this.state.search}
onChangeText={(e)=>{
this.setState({search:e, disabledButton:e==""?true:false})
}}
/>
<RN.Button
title="Search"
disabled={this.state.disabledButton}
/>
</View>
)
}
}
const styles = StyleSheet.create({
container:{flex:1, justifyContent:'center', alignItems:'center'}
})
推荐阅读
- python - 从 np.ndarrays 创建 pandas DataFrame 返回“如果使用所有标量值,则必须传递索引”
- excel - 在 Excel 中计算任何列包含特定文本的行
- sql - SQL:跨组识别项目重复项
- spring - 使用 Spring Security 5 OAuth2.0 动态配置客户端注册的范围
- reactjs - react-query:为什么这个查询总是陈旧的?
- javascript - 我不能静音 AudioContext
- python - yaml.load() 在 python 3 中返回一个键为字节而不是文本的映射
- sql - 从其值由管道分隔的列中删除重复项
- php - 关于简单PHP加解密的安全问题
- javascript - 按钮中断反应形式