我是新来的本地人。我正在使用此软件包https://www.npmjs.com/package/react-native-numeric-input。
我的问题是如何将值传递到下一页。
通过使用此代码:
XlFileFormat.xlCSVUTF8
如何获得结果?有人可以帮助我吗?
答案 0 :(得分:1)
首先,您需要为数字输入的变化值设置状态。 请尝试执行以下操作:
...
constructor(props) {
super(props);
this.state = {
numericInputValue: ''
}
}
onChangeNumericInputValue = (value) => {
this.setState({ numericInputValue: value });
}
render() {
...
<NumericInput type='up-down' onChange={this.onChangeNumericInputValue} />
...
}
...
下一步是将numericInputValue
传递到下一页。
如果您使用反应导航在场景之间导航,则可以执行以下操作:
this.props.navigation.navigate('SceneName', { numericInputValue: this.state.numericInputValue })
答案 1 :(得分:1)
您的增减值成功通过了下一页,但是您没有通过正确的状态,您必须在第二个活动中通过数字状态。
Send_Data_Function = () => {
this.props.navigation.navigate("Second", { no: this.state.number });
};
并通过1 = {this.props.navigation.state.params.no}
代码成功读取。
您的主要问题是,当您按增大或减小按钮时,这些按钮中间的值不会正确改变吗?
这是您的解决方案。
初始化数字状态时,请勿分配字符串值。请使用数字
而不是字符串初始化数字状态您的代码:
constructor(props) {
super(props)
this.state = {number: ''}
}
更改:
constructor(props) {
super(props)
this.state = {number: 0}//<-------------
}
下一个更改是您可能忘记了为NumericInput组件分配初始值,这就是为什么它不会向您显示任何状态更改的原因。同样在这里,您使用了错误的状态来分配值和显示值。您具有已初始化的数字状态,并使用值状态来分配值。 这是您的解决方案。
您的代码:
<NumericInput
value={this.state.value}//<----mistake---
onChange={value => this.setState({number : value})}/>
解决方案:
<NumericInput
initValue={this.state.number}//<---Add---
value={this.state.number}//<----changes---
onChange={value => this.setState({number: value })}/>
答案 2 :(得分:1)
在您的第二个活动中尝试 ->
class SecondActivity extends Component{
static navigationOptions =
{
title: "Second Activity"
};
constructor(props){
super(props);
this.state={
numericInputValue:props.navigation.getParam("no",null)
}
}
render() {
return (
<View style= {styles.MainContainer}>
<Text style={styles.textStyle}>
1 = {this.state.numericInputValue}
</Text>
</View>
)}
}