必须用页面跳转+临时数据表实现分步提交:第一步建两个独立页面并设置双向跳转;第二步建“临时预约草稿”表,页面一提交存草稿,页面二加载时按user.id查最新记录;第三步页面二确认后先存正式表再删草稿。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在函子Zion中把一个长表单拆成两步提交,避免用户中途放弃、提升填写完成率,同时确保数据不丢失、状态可回溯,必须绕过“单页单表单”的直觉操作,用页面跳转+临时数据暂存机制实现。
第一步:创建两个独立页面并设置导航关系
新建页面一(如“预约信息页”)和页面二(如“确认详情页”),不要在同一个页面里堆叠两组字段。Zion 的行为流不支持跨组件的表单分步暂存,所以必须靠页面级跳转来承载步骤隔离。
在页面一底部添加按钮,行为设为“跳转到页面”,目标选页面二;在页面二顶部加返回按钮,行为设为“跳转到页面”,目标选页面一。这一步建立的是用户可见的路径,不是数据通路。
第二步:用临时数据表承接中间状态
新建一张名为“临时预约草稿”的数据表,字段至少包含:客户ID(文本)、姓名(文本)、联系方式(文本)、期望时段(日期时间)、当前步骤(数字,默认1)。这张表不对外暴露,仅作中转用。
在页面一的提交按钮上,绑定“添加 表单记录”行为,目标表选“临时预约草稿”,将各字段值映射过去;【关键点:客户ID必须填入当前登录用户的唯一标识,可用{{user.id}}自动获取,否则后续无法关联】。成功后跳转到页面二。
页面二加载时,需先读取该用户的最新草稿记录。在页面二的“页面加载时”行为里,添加“查询数据”→表选“临时预约草稿”→筛选条件设为“客户ID 等于 {{user.id}}”→排序按“创建时间 降序”→限制条数1。这一步确保页面二始终显示用户上一步填的内容。
第三步:在第二页完成最终提交并清理草稿
页面二展示所有已填字段(用文本组件绑定查询结果的对应字段),并增加最终确认按钮。该按钮绑定两个连续行为:
① “添加 表单记录”,目标表为正式预约表,字段全部从上一步查询结果中映射过来;
② “删除数据”,目标表为“临时预约草稿”,筛选条件设为“客户ID 等于 {{user.id}} 且 当前步骤 等于 1”。【注意:删除必须放在添加之后,否则正式记录还没存,草稿已被清空】
完成后跳转至成功页或返回首页。


















