I have something like this:
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
value={0}
onChangeText={(input) => this.setState({ value: input })}
/>
However, the input box is always empty after load, any ideas?
I have something like this:
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
value={0}
onChangeText={(input) => this.setState({ value: input })}
/>
However, the input box is always empty after load, any ideas?
TextInput component only accept strings. Looks like you have a integer there. Try changing that to a string. Heres a link to the doc.
just change the value = {this.state.value}
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
value={this.state.value}
onChangeText={(input) => this.setState({ value: input })}
/>
use toString()
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
value={this.state.value.toString()}
onChangeText={(input) => this.setState({ value: input })}
/>
Try this it works with me!
const [_employee, setEmployee]=useState(
{
name: "name"
salary: 0
})
. . .
<Input
onChangeText={(salary) =>
(salary = parseInt(salary)) & setEmployee({ ..._employee, salary })
}
value={JSON.stringify(_employee.salary)}
/>