feat(component):优化组件操作数据处理逻辑

- 支持新增模式下将记录添加到现有数据数组
- 确保删除操作后保持数据结构一致性
- 改进删除确认流程与错误处理机制
- 更新组件设计数据提交格式为统一数组结构
- 修复删除功能中异步调用和状态更新问题
master
钟良源 3 months ago
parent 0a31ef21da
commit 2b8b3167bf

@ -71,14 +71,24 @@ const AddApiModal = ({ visible, baseInfo, componentDesignProgress, componentDesi
});
params['operates'] = updatedOperates;
} else {
// 新增模式或没有提供完整数据时,只提交当前表单数据
params['operates'] = {
} else if (componentDesignData && Array.isArray(componentDesignData)) {
// 新增模式,将新记录添加到现有数据中
const newOperate = {
...formData,
type: 'EVENT',
parameters: parametersData,
responses: responsesData
};
params['operates'] = [...componentDesignData, newOperate];
} else {
// 没有现有数据时,创建包含单个元素的数组
params['operates'] = [{
...formData,
type: 'EVENT',
parameters: parametersData,
responses: responsesData
}];
}
const res: any = await updateComponentDesign(params);

@ -82,7 +82,7 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh }) => {
<Button
type="text"
status="danger"
onClick={() => {
onClick={async () => {
// 显示删除确认框
Modal.confirm({
title: '确认删除',
@ -91,34 +91,32 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh }) => {
onOk: () => {
// 从 componentDesignData 中过滤掉要删除的记录
const updatedData = componentDesignData.filter(item => item.ident !== record.ident);
setComponentDesignData(updatedData);
// 构造要提交的数据
const params = {
baseInfo: componentData || baseInfo,
operates: updatedData
operates: updatedData // 保持数组格式
};
// 调用接口更新数据
updateComponentDesign(params).then((res: any) => {
const res: any = updateComponentDesign(params);
try {
if (res.code === 200) {
Message.success('删除成功');
// 重新获取组件设计数据以更新表格
if ((componentData && componentData.id) || (baseInfo && baseInfo.id)) {
getComponentDesignData(componentData?.id || baseInfo.id);
}
// 更新本地状态
setComponentDesignData(updatedData);
}
else {
Message.error(res.message || '删除失败');
// 删除失败时恢复数据
setComponentDesignData(componentDesignData);
}
}).catch(error => {
} catch (error) {
console.error('删除失败:', error);
Message.error('删除失败');
// 删除失败时恢复数据
setComponentDesignData(componentDesignData);
});
}
}
});
}}

Loading…
Cancel
Save