【发布时间】:2019-01-15 00:29:54
【问题描述】:
我希望能够在用户按下回车键后检索文本的值。
我尝试了以下...
class HomePage extends Component {
constructor(props) {
super(props);
this.state = {
text:''
}
}
callTextSubmit = (val) => {
console.log('callTextSubmit ', val);
};
render() {
return (
<View>
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
onChangeText={(text) => this.setState({ text })}
onSubmitEditing={(text) => this.callTextSubmit(text)}
value={this.state.text}
/>
</View>
)
}
}
这会从控制台日志中返回以下内容。
Proxy {dispatchConfig: {…}, _targetInst: FiberNode, isDefaultPrevented: ƒ, isPropagationStopped: ƒ, _dispatchListeners: ƒ, …}
>[[Handler]]:Object
>[[Target]]:Class
>[[IsRevoked]]:false
我想从文本输入中访问值,有解决方法吗?谢谢
【问题讨论】:
-
onSubmitEditing处理程序的参数是事件。你不能只使用状态变量吗?console.log('callTextSubmit ', this.state.text); -
回调,onChangeText 是一个事件处理程序,接受合成事件而不是文本值。
-
是的,这是有道理的。我只是想替换
onChangeText,所以每次我输入字母时它都不会调用。我想在点击进入后设置状态。
标签: javascript reactjs react-native textinput