go react 解决无法保存某个列数据
在react里,有个编辑页面需要保存多个列的数据,但是在保存的时候,发现某个列不能进行保存。而且会跳转到登录页面,需要重新登录。
解决思路:首先,需要f12查看发起的请求是什么,(发现是一个options 和一个put,put是400),进入前端页面的代码进行查看,(把重新登录的代码先注释了。)
然后检查后端的代码,查看路由,然后在vim里:vs,使用ctrl t **加文件名,查看是使用的是哪一段代码,进行检查。
json: cannot unmarshal string into Go struct field UpdateCalculationTemplateRequest.InitialFillingAmount of type float64
注意:(在使用struct的时候,需要吧json右边的格式写完整,双引号不能少,空格不要多)
+ InitialFillingAmount float64 `json:"initialFillingAmount"`
+ OperatingDischargeRate float64 `json:"operatingDischargeRate"`
+ MaintenanceDischargeRate float64 `json:"maintenanceDischargeRate"`
+ MaintenanceFillingRate float64 `json:"maintenanceFillingRate"`
+ AnnualMaintenanceRate float64 `json:"annualMaintenanceRate"`
+ ScrapDischargeRate float64 `json:"scrapDischargeRate"然后再在Error里自己自己的error的打印:
var req UpdateCalculationTemplateRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
+ fmt.Println(" == got error", err.Error())
return
}格式修改完整后,继续在前端发起请求,发现出现了error,说明还是格式不对,仔细对比发现input不匹配,应该使用inputnumber
- <Input className="custom-form-item" defaultValue={data.data.initial_filling_amount}/>
+ <InputNumber defaultValue={data.data.initial_filling_amount} step={0.01} min={0} max={100} precision={2} className="custom-input" />修改好后,就可以正常保存了。