Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止某些输入响应本机';文本输入_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 如何防止某些输入响应本机';文本输入

Javascript 如何防止某些输入响应本机';文本输入,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我想禁用TextInput中某些字符的输入。如果我通过听onKeyPress来控制输入并设置值,组件就会闪烁,就像React原生文档中一样。有没有其他方法可以做到这一点?使用onChangeText更改文本输入对我来说很好 import React,{Component}来自'React'; 从“react native”导入{Text,TextInput,View}; 导出默认类PizzaTranslator扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 文本:“” }; }

我想禁用TextInput中某些字符的输入。如果我通过听onKeyPress来控制输入并设置值,组件就会闪烁,就像React原生文档中一样。有没有其他方法可以做到这一点?

使用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更改文本输入对我来说很好

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您需要检测退格的原因是什么?如果绝对必要,您可以使用单独的处理程序。