跳转到内容

自动保存

useForm 支持编辑表单的自动保存,可配置防抖延迟。

const form = useForm({
resource: 'posts',
action: 'edit',
id: 42,
autoSave: {
enabled: true,
debounce: 1000, // 毫秒(默认:1000)
onFinish: (values) => {
// 可选:保存前转换数据
return { ...values, updatedAt: new Date().toISOString() };
},
},
});

表单值变化时调用 triggerAutoSave:

<input
value={title}
oninput={(e) => {
form.setFieldValue('title', e.target.value);
form.triggerAutoSave();
}}
/>
{#if form.autoSave.status === 'saving'}
<span>保存中...</span>
{:else if form.autoSave.status === 'saved'}
<span>✓ 已保存</span>
{:else if form.autoSave.status === 'error'}
<span>保存失败</span>
{/if}
  • 自动保存仅在编辑模式下生效(创建模式跳过)
  • 变更会防抖 — 快速编辑不会触发多次保存
  • 状态在 2 秒后重置为 idle