TextInput正在显示反应原生的值

时间:2016-09-29 04:36:17

标签: react-native

嗨,在我的componentWillMount我设置了像这样的状态

componentWillMount(){
    this.timeSheetData().then((timeSheetResponse)=>{
        this.setState({comments:timeSheetResponse.comments});
        this.setState({spentHours:parseInt(timeSheetResponse.hours)});
        alert(this.state.spentHours);

    });
});

在我看来

我有这样的TextInput。我无法在TextInput上显示该值,但我可以在文字上显示值我不知道它为什么会发生

<TextInput keyboardType='numeric' onChangeText={(spentHours) =>this.setState({spentHours})} 
                   value={this.state.spentHours} />

1 个答案:

答案 0 :(得分:0)

输入值必须是字符串,因此您需要删除parseInt方法中的componentWillMount

this.setState({ spentHours: timeSheetResponse.hours });

或在模板中,您需要将输入值转换为包含toString()的字符串:

<TextInput
  keyboardType='numeric'
  onChangeText={spentHours => this.setState({ spentHours })} 
  value={this.state.spentHours.toString()}
/>