kitseed.
组件

Field 表单字段

标签、提示、控件与错误组成一个完整的输入单元。

使用 Field 包裹 Input、Textarea 或原生 Select,自动关联标签、说明与错误。需要组合触发器、清空按钮等多个交互元素时启用 compound,不要把它们全部塞进一个 label。

安装

pnpm dlx shadcn@4.22.1 add http://127.0.0.1:3040/r/v0.3.0/field.json

首次使用请先完成 Registry 与主题接入。

状态与组合

<Field label="工作区名称" hint="显示给协作者的名称" error={error}>
  <Input name="workspaceName" required maxLength={60} />
</Field>

Field 显示调用方错误、表单字段错误或本地约束反馈。Input、Textarea、Select 使用相同边界、焦点和禁用语义;ChoiceRow 将原生选择项与说明组合。

Props

API / 属性类型默认值说明
Field.labelstring必填可见字段名称
Field.childrenReactNode必填字段控件
Field.compoundbooleanfalse独立 label 与复合控件关联
Field.errorPlacementinline / externalinline错误由字段内或外部渲染
Field.hint / error / errorIdstring—辅助说明、错误与错误标识
Input / Textarea / Select对应原生属性—支持原生约束

键盘与约束

保持原生输入键盘行为。name 是提交和字段错误映射的共同键;复合控件要让可见触发器被正确标记并接收焦点。external 模式下调用方必须渲染相同 errorId 的错误节点。

避免这样使用

占位符不能代替 label;不要把多个互不相关字段包进同一个 Field;不要只标红边框而不说明如何改正。

来源与版本

0.1.0,来自 Subtic apps/web/components/ui/field.tsx 与 form-context.ts。保留语义关联,去除产品平台与翻译依赖。

查看由当前源码生成的类型参考

只展示 Kitseed 自身定义的属性,原生 HTML 与 Base UI 透传属性请参阅对应上游说明。

Field

属性类型默认值
labelstring—
compound?booleanfalse
errorPlacement?"inline" | "external""inline"
hint?string—
error?string—
errorId?string—
childrenReactNode—
formatError?(message: string) => ReactNode(message) => message

Input

属性类型默认值
ref?Ref<HTMLInputElement>—
unstyled?booleanfalse

Textarea

属性类型默认值
unstyled?booleanfalse

Select

属性类型默认值
unstyled?booleanfalse

ChoiceRow

属性类型默认值
childrenReactNode—
unstyled?booleanfalse
inputClassName?string—

本页内容