Javascript 如何防止某些输入响应本机';文本输入
我想禁用TextInput中某些字符的输入。如果我通过听onKeyPress来控制输入并设置值,组件就会闪烁,就像React原生文档中一样。有没有其他方法可以做到这一点?使用onChangeText更改文本输入对我来说很好Javascript 如何防止某些输入响应本机';文本输入,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我想禁用TextInput中某些字符的输入。如果我通过听onKeyPress来控制输入并设置值,组件就会闪烁,就像React原生文档中一样。有没有其他方法可以做到这一点?使用onChangeText更改文本输入对我来说很好 import React,{Component}来自'React'; 从“react native”导入{Text,TextInput,View}; 导出默认类PizzaTranslator扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 文本:“” }; }
import React,{Component}来自'React';
从“react native”导入{Text,TextInput,View};
导出默认类PizzaTranslator扩展组件{
建造师(道具){
超级(道具);
此.state={
文本:“”
};
}
更改文本(文本){
让newText=text.replace(“a”、“b”);
this.setState({text:newText});
}
render(){
返回(
this.changeText(text)}
值={this.state.text}
/>
);
}
}
您只需要在
changeText
函数中将这些字符替换为零。使用onChangeText更改文本输入对我来说很好
import React,{Component}来自'React';
从“react native”导入{Text,TextInput,View};
导出默认类PizzaTranslator扩展组件{
建造师(道具){
超级(道具);
此.state={
文本:“”
};
}
更改文本(文本){
让newText=text.replace(“a”、“b”);
this.setState({text:newText});
}
render(){
返回(
this.changeText(text)}
值={this.state.text}
/>
);
}
}
您只需在
changeText
函数中将这些字符替换为零。您对文本输入的要求是什么?只有数字?字母数字?您对文本输入的要求是什么?只有数字?字母数字?虽然这种技术可以工作,但它也会导致一些奇怪的插入插入符号行为,例如,即使在编辑不在输入端的字符时,也会不断将插入符号移动到输入端。onChangeText与其他事件相同。闪烁总是存在的。我认为闪烁是另一个问题。尝试使用onChange和e.preventDefault();,使用它:或在提交/验证后进行更改。@TemporaryName我尝试使用onChange,但无法使用它检测退格,因为我在event.nativeEvent.text中得到空字符串。这就是我使用onKeyPress的原因。@mohsinulhaq您需要检测退格的原因是什么?如果绝对必要,您可以使用单独的处理程序。虽然这种技术可以工作,但它也可能导致一些奇怪的插入插入符号行为,例如,即使在编辑不在末尾的字符时,也会不断将插入符号移动到输入的末尾。onChangeText与其他事件相同。闪烁总是存在的。我认为闪烁是另一个问题。尝试使用onChange和e.preventDefault();,使用它:或在提交/验证后进行更改。@TemporaryName我尝试使用onChange,但无法使用它检测退格,因为我在event.nativeEvent.text中得到空字符串。这就是我使用onKeyPress的原因。@mohsinulhaq您需要检测退格的原因是什么?如果绝对必要,您可以使用单独的处理程序。