diff --git a/src/navigation/AppNavigator.tsx b/src/navigation/AppNavigator.tsx index 2795401..4dab0af 100644 --- a/src/navigation/AppNavigator.tsx +++ b/src/navigation/AppNavigator.tsx @@ -27,7 +27,7 @@ function HomeStackNavigator() { { const matchingParam = task.detail!.inputParams.find( @@ -178,8 +178,31 @@ export default function TaskEditScreen() { // 扫描成功后,按钮状态变回"扫描二维码获取信息" setIsWaitingForQrCode(false); } catch (error) { - // 解析失败不报错,按照需求静默处理 - console.log('二维码信息解析失败,但不影响使用:', error); + // 解析失败时清空二维码输入框和表单字段 + setQrCodeInfo(''); + + // 清空所有表单字段 + if (task && task.detail && task.detail.inputParams) { + const clearedTask = { ...task }; + if (!clearedTask.parameters) { + clearedTask.parameters = {}; + } + + task.detail.inputParams.forEach(param => { + const currentParam = clearedTask.parameters[param.name] || {}; + clearedTask.parameters[param.name] = { + ...currentParam, + value: '', // 清空为空字符串 + }; + }); + + setTask(clearedTask); + if (!isModified) { + setIsModified(true); + } + } + + console.log('二维码信息解析失败,已清空相关字段:', error); } };