![](/img/trans.png)
[英]React-native TextInput value receiving object but I am clearly passing it a string?
[英]react-native textInput value return [object Object]
我有一个带有 4 个 TextInput 的组件,表示营业时间我想连接前 2 个(表示营业时间)并将它们存储在我的状态中。 但我有一个类型的返回值: [object Object]:[object Object]
这是前两个输入:
<CustomInput
underlineColorAndroid="#58CAF1"
style={styles.inputScheduleTime}
// ref="lundiStart"
placeholder="8H00..."
keyboardType="numeric"
onBlur={ input => {
let input1 = input;
this.setState({ monday: {
start: input1 ,
end: ""
}
});
}
}
/>
<CustomInput
underlineColorAndroid="#58CAF1"
style={styles.inputScheduleTime}
// ref="lundiStart"
placeholder="8H00..."
keyboardType="numeric"
onBlur={ input => {
let input2 = input;
this.setState({ monday: {
start:this.state.monday.start + ':' + input2,
end: ""
}
});
}
}
/>
我的状态是这样的:
monday: {
start: "",
end: ""
},
你对为什么有意见? 如何正确存放它们?
==================解决方案==================
在我的情况下使用onBlur和 react-native ,您可以使用以下方式访问该值: input.nativeEvent.text
有了这个,我能够干净地设置我的状态!
将input1
和input2
的值设置为input.target.value
。
你得到event
(它是一个对象,而不是一个字符串),并试图将它们连接在一起,从而产生[object Object]:[object Object]
。
获取事件的目标值(输入字段)应该可以满足您的需求。
看看这个例子 。
在React中反映输入值的最常用方法是在每次更改时更新状态,因此它具有可靠的值。
如果你真的想使用onBlur:
你确定,你的onBlur-Callback返回一个字符串吗? 检查输入中返回的值,并确保类型正确。
这是旧线程,但遇到了类似的问题并使用以下方法解决了它
更新
onBlur={text => SetContent(text)}
到
onBlur={({ text }) => SetContent(text)}
注意:括号和大括号中的换行文本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.