点击项目名称,WBS编码相应的会变,这两个是联动的,选了wbs编码后,材料库和历史订单会出来,这些都比较简单,通过this.setState便可轻松实现点击材料库后,会有另外一个模态框,如下:
选择之后,点击添加数据便到了第一个图中的需求列表中,我个人认为较难的一点,并且在比较难想到的一个bug问题:数量输入后,在点击page切换后无法拿到上一页面的数量,咱们需要做的便是在切换当前页面后,把当前页面的数据保存到state中,在点保存的时候重新获取保存,看起来是挺简单的,如果没有专业的测试,这些隐藏的bug,还是较难发现.代码如下:
wbsSelectPageChange(page,size) { let t = this; console.log(page,size); let paramsAll = this.props.form.getFieldsValue(); let data = t.state.wbsTableDataSure;//需求列表数据 let uniqueData = data.slice((this.state.infoCurrentPage - 1) * this.state.infoPageSize,(this.state.infoCurrentPage) * this.state.infoPageSize); console.log(uniqueData); let realyArray = this.state.realyArraySure; uniqueData.forEach((item,index) => { let obj = {}; obj[pruchaseTableHeader.materialId] = item[pruchaseTableHeader.order]; obj[pruchaseTableHeader.needsNum] = paramsAll[item.id]; realyArray.push(obj); }); this.setState({ realyArraySure: realyArray,infoCurrentPage: page,infoPageSize: size }) }
上图因为涉及公司相关信息,所以都涂了.
只为激励自己!以后代码的完整性
原文地址:https://www.jb51.cc/react/302308.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。