Skip to content

飞书问卷为什么乱序:field-create 与 form-questions-create 的本质区别 #694

@Eunknight

Description

@Eunknight

飞书问卷为什么乱序:field-create 与 form-questions-create 的本质区别

背景

用户要求按 10 道题的顺序生成飞书问卷。我(Claude)选择的实现路径是:

  1. +base-create 创建 Base
  2. +field-update 把默认字段改名为 Q1
  3. +field-delete × 3 删掉多余默认字段
  4. +field-create × 9 依次添加 Q2–Q10
  5. +form-create 创建表单视图

用户指出最终问卷题目顺序错乱,并给出了正确做法——单次调用 +form-questions-create,把所有题目作为一个数组提交。


两种做法的差异

维度 claude 的做法(+field-create + +form-create) gpt 的做法(+form-questions-create)
操作层级 数据表的列(字段 / field) 表单视图的题目(question)
API 语义 "加一个字段",无位置参数 "按数组顺序写入题目",位置即下标
顺序控制 间接,由服务端默认排序决定 直接,由客户端数组顺序决定
必填项 字段层无 required 每题可单独 required: true/false
题目标题 强等于字段名 可独立于字段名,更口语化
评分组件 用 select 1-5 模拟 number + style.rating 原生五星
选项展示 不能配 option_display_mode 可配下拉 / 平铺 / 单行
题目复用 一字段一表单强绑定 同字段可在多表单定制不同标题/必填

教训

做问卷不能走"建字段 → 建表单"这条路。

  • 字段层(field) 管的是:数据存在哪、什么类型。
  • 题目层(question) 管的是:用户看到什么、什么顺序、是否必填、用哪种 UI 组件。

两层混用就会出现"我在字段层努力,结果题目层不听话"的情况。+field-create 只能保证字段都建好了,保证不了题目按预期顺序展示——这是路径本身的固有缺陷,不是命令参数写错了。

该选哪条路

  • 正经发问卷收集 → 必须 +form-questions-create。能控顺序、控必填、控题型组件(如五星评分)、控选项展示样式。
  • 只要一张能存数据的表 + 顺手有个录入入口 → 字段层就够用。

下次类似任务,应直接用 +form-questions-create,不再走字段层。

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions