下面的示例段把后端moduleData[i].Fields转化成前端的结构newModule.children ,其中moduleData[i].Fields下的字段为FieldID、FieldName、DataType、ByteCount、Unit,而newModule.children对应的字段名为key 、field_name 、data_type 、byte_count 、unit 。
const newModule = [];
newModule.id = parseInt(this.state.moduleTableData[this.state.moduleTableData.length -1].id) + 1;
newModule.key = newModule.id;
newModule.data_module = this.props.form.getFieldValue("module-name");
for (let i=0; i<this.state.moduleData.length; i++){
if (this.state.moduleData[i].Name == newModule.data_module) {
newModule.module_temp = this.state.moduleData[i].ModuleTemp;
newModule.children = this.state.moduleData[i].Fields.map(item =>
{
const newItem={
key : newModule.id + "."+item.FieldID,
field_name : item.FieldName,
data_type : item.DataType,
byte_count :item.ByteCount,
unit :item.Unit,
}
return newItem;
})
break;
}
}
console.log(newModule);
this.state.moduleTableData.push(newModule);
this.setState({moduleTableData:this.state.moduleTableData});