uiUI 组件系统
对比

表单与字段

Form / Field

把有结构的用户输入与标签、校验和提交组织起来。

交互预览实时预览

填写后提交,空值会触发校验
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'form',
  {
    "demo": true
  }
);

view.element.addEventListener('ui:submit', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

设置、配置或收集明确字段。

什么时候不用

用户不知道字段答案,需要探索时可先使用对话。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
fields[{"name":"project","label":"项目名称","placeholder":"例如:组件图鉴","required":true,"minLength":2}]
submitLabel"检查输入"
demofalse

事件

ui:submit

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 标签与输入程序化关联。
  • 错误定位到字段,保留已填内容。

和相似组件的区别

字段是一个输入单元;Form 负责多字段验证和提交。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

Ant DesignForm
官方提供

提供字段管理、验证与布局。

官方提供

提供字段输入;完整表单提交需自行组合。

Element PlusForm
官方提供

提供字段校验与表单布局。

React AriaForm
官方提供

提供浏览器与服务端校验信息的组织。

关键状态

未填写输入中校验错误提交中提交成功

React / Next.js、Vue / Nuxt · 来源核验

一起了解

选项选择器 ↗多选与追问 ↗提示输入 ↗