fix(note): 修复笔记编辑器ID处理逻辑

- 添加bijiId响应式引用用于存储笔记ID
- 修改保存逻辑中ID获取方式,优先使用props.editData.id,否则使用bijiId.value
- 保存成功后更新bijiId.value为响应返回的新ID
- 简化emit数据结构,移除重复的更新笔记数据处理
This commit is contained in:
ikmkj
2026-01-06 18:56:20 +08:00
parent 49646658ce
commit 2c1abafee7

View File

@@ -29,6 +29,8 @@ const props = defineProps({
const emit = defineEmits(['back', 'update:editData']); const emit = defineEmits(['back', 'update:editData']);
const vditor = ref(null); const vditor = ref(null);
const bijiId=ref(null);
const saveStatus = ref(''); const saveStatus = ref('');
let saveTimeout = null; let saveTimeout = null;
const isProgrammaticChange = ref(false); const isProgrammaticChange = ref(false);
@@ -85,7 +87,7 @@ const save = async (value) => {
saveStatus.value = '正在保存...'; saveStatus.value = '正在保存...';
// 发送完整的笔记对象,确保包含所有必要字段 // 发送完整的笔记对象,确保包含所有必要字段
const response = await updateMarkdown({ const response = await updateMarkdown({
id: props.editData.id, id: props.editData.id? props.editData.id : bijiId.value,
content: content, content: content,
title: props.editData.title, title: props.editData.title,
groupingId: props.editData.groupingId, groupingId: props.editData.groupingId,
@@ -93,12 +95,12 @@ const save = async (value) => {
isPrivate: props.editData.isPrivate isPrivate: props.editData.isPrivate
}); });
// 确保获取到后端返回的数据包括可能的新ID // 确保获取到后端返回的数据包括可能的新ID
const updatedNote = response.data;
bijiId.value = response.id;
// 保存成功,更新状态 // 保存成功,更新状态
saveStatus.value = '已保存'; saveStatus.value = '已保存';
// 发送更新后的笔记数据包含可能的新ID // 发送更新后的笔记数据包含可能的新ID
emit('update:editData', { ...props.editData, ...updatedNote, content: content }); emit('update:editData', { ...props.editData, content: content });
} catch (error) { } catch (error) {
// 保存失败,更新状态并显示错误消息 // 保存失败,更新状态并显示错误消息
saveStatus.value = '保存失败'; saveStatus.value = '保存失败';