功能实现效果
点击添加按钮,输入表单内容,表单提交后数据动态添加到Table表格里
如图: 初始数据,是在dva的mock文件模拟的死数据
点击添加,输入数据:
表单提交后,数据添加到表格里
代码背景
表单和表格是两个独立的组件,且各自获取后台mock数据
代码思路
- 在表单设置一个空数组用来存储每次表单提交的数据,将数据加入到原有的初始数据数组中,更新数组
- 将更新后的数据通过消息订阅与发布机制传递给表格组件,表格组件setState更新数据从而更新页面(这一步很关键,因为数据的更新不一定引起页面的更新。虽然此时传递过来的已经是最新的数据,但是这个数据的更新只是改变了初始数据数组的值,并不是通过更新react的状态去更新的,因此不setState数据,Table的页面是不会有变化的)
代码实现
表单组件:首先在state里设置一个空数组newArr来保存获取的表单数据,即名称和类型
onFinish = (values) => {
//将获取到的表单数据保存到newArr
this