fix: 修改任务表单以使用任务标签代替名称,更新任务编辑页面以处理任务详情字段的解析
This commit is contained in:
parent
508780d634
commit
1a480fdd6d
@ -99,7 +99,7 @@ const TaskForm: React.FC<TaskFormProps> = ({ task, onTaskChange }) => {
|
|||||||
<View style={styles.inputGroup}>
|
<View style={styles.inputGroup}>
|
||||||
<Text style={styles.label}>任务名称</Text>
|
<Text style={styles.label}>任务名称</Text>
|
||||||
<Input
|
<Input
|
||||||
value={task.name}
|
value={task.label}
|
||||||
onChangeText={text => onTaskChange({ ...task, name: text })}
|
onChangeText={text => onTaskChange({ ...task, name: text })}
|
||||||
inputContainerStyle={styles.inputContainer}
|
inputContainerStyle={styles.inputContainer}
|
||||||
inputStyle={styles.inputText}
|
inputStyle={styles.inputText}
|
||||||
|
@ -39,14 +39,26 @@ export default function TaskEditScreen() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const loadTask = async () => {
|
const loadTask = async () => {
|
||||||
let taskData = getTaskById(taskId);
|
let taskData = getTaskById(taskId);
|
||||||
debugger;
|
console.log('taskData', taskData);
|
||||||
|
|
||||||
if (taskData && !taskData.detail) {
|
if (taskData && !taskData.detail) {
|
||||||
await fetchTaskDetail(taskId);
|
await fetchTaskDetail(taskId);
|
||||||
taskData = getTaskById(taskId);
|
taskData = getTaskById(taskId);
|
||||||
}
|
}
|
||||||
if (taskData) {
|
if (taskData) {
|
||||||
setTask(taskData);
|
// 在这里处理 detail 字段
|
||||||
setOriginalTask(taskData);
|
let processedTask = { ...taskData };
|
||||||
|
if (processedTask.detail && typeof processedTask.detail === 'string') {
|
||||||
|
try {
|
||||||
|
processedTask.detail = JSON.parse(processedTask.detail);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('解析任务详情失败:', e);
|
||||||
|
// 解析失败,可以根据业务需求决定如何处理,比如清空detail
|
||||||
|
processedTask.detail = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setTask(processedTask);
|
||||||
|
setOriginalTask(processedTask);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
loadTask();
|
loadTask();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user