【发布时间】:2018-04-22 16:10:36
【问题描述】:
我正在使用 backendless api 创建简单的 crud 应用程序。这是我的表架构:
产品表:
- 名称(字符串)
- 价格(双倍)
- 说明(文字)
我使用本地基础的输入组件从用户那里获取值。但是我的价格有问题,当我输入价格 5000 时,在数据库中输入的值不是 5000 而是 892350512,我认为这是因为 onChangeText 的值是字符串,我混淆了如何在我的状态下解析 parseInt()。
这是我的代码:
state = { data: {} }
allProduct(){
axios.get(`${uri}/products?sortBy=created%20desc`).then(result => {
this.setState({
data: result.data
})
})
}
handleSubmit(){
axios.post(`${uri}/products`, this.state.data).then(result => {
if(result.data){
this.allProduct,
alert("Succes!")
}
})
// alert(JSON.stringify(this.state.data))
}
这是我从用户那里获取价值的表单代码:
<Label style={styles.batasAtas}>Harga</Label>
<Item regular>
<Input onChangeText={(price) => this.setState({data:{...this.state.data, price}})} keyboardType = 'numeric'/>
</Item>
【问题讨论】:
-
Input是什么,也可以记录setState之前的价格吗? -
@PritishVaidya 是的,我已经提醒了。例如:我在提交价格时输入 5,值为字符串“5”
-
@masdap 我的回答能解决这个问题吗?
-
@Colin 我已经这样做了,但是没有用。
-
已解决我使用这种方法:创建一个局部变量并保存onchangetext值,然后将其解析为Number,然后将其用于axios.post()
标签: javascript react-native axios native-base backendless