我希望能够在用户按Enter /返回后检索文本的值。

我尝试了以下...

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处理程序的参数是事件,而不是当前输入。

由于每次更改text时都要设置状态变量TextInput,因此只能在状态中使用text变量。

callTextSubmit = () => {
  console.log('callTextSubmit ', this.state.text);
};

关于javascript - 从TextIput获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51734860/

10-11 10:34