Ant Design使用问题记录

  公司的测试管理平台前端使用的是Ant Design of React框架,后台使用的是python,数据库用的是mysql。没有参与前期的开发,听说是工作了10年积累下来的一个暂且可用的管理平台,开发了10年,目前公司也没有怎么用起来......不由地吐槽了一下,看了前端和后台的代码,简直想哭的心都有了。问的稍微深一点的问题,就说不知道,自己看,自己调试,我也就只能呵呵呵,后面有问题干脆不开口了,省得诧异与无奈了,告诫自己的就是:虽然领导不靠谱,但不要学习他对技术的态度,时刻保持清醒,不被同化,是我最后的倔强了。吐槽完了,记录问题。

  问题一:项目需要,在测试管理平台上开发一个场景指令录入与维护的界面,只负责录入数据、修改数据、展示数据,不保存到平台数据库,数据保存到云端。云端提供增、删、改、查接口。功能很简单,开发完成,联调的时候出现了一个问题:指令集是通过table组件来录入的,各指令通过Input.TextArea展示,其中一个指令为“是否必须”,项目要求为数字格式,0否1是。Input.TextArea的value属性的类型是string,那就在保存的时候转一下格式,代码:

 

//后端要求将是否必须保存为数字类型的,input的value默认为string类型,故保存的时候需要将其转换为数字类型
this.range(0, this.state.instructions.length, (i)=>{
    this.state.instructions[i].isNecessary = Number(this.state.instructions[i].isNecessary)
})

 

  本以为应该不会有问题了,保存完显示时,1可以展示,0就不行,想想是不是应该把从数据库获取数字类型的值转换为字符串,就试试吧:

//input输入框只接受字符串的类型,这里再将数字类型转换为字符串类型显示
this.range(0, this.state.instructions.length, (i)=>{ this.state.instructions[i].isNecessary = this.state.instructions[i].isNecessary.toString() })

  再打开查看保存的数据,显示出来了。回想一下整个现象,Input.TextArea的value属性的类型是string,只接受string类型的value,两次转换总觉得变扭。看了一下官网,还有一个InputNumber组件,或许可以考虑使用。

  那么问题来了:为什么同为数字,1可以显示,0却不可以显示?或许没有抓到问题的根本。

 

  问题二:等待使用......

 

posted @ 2019-02-27 17:19  Zoe_yan  阅读(628)  评论(0编辑  收藏  举报