iter(g40): 修表单双提交并支持 Enter 提交
This commit is contained in:
+5
-2
@@ -1,6 +1,6 @@
|
||||
# @ui-arch 组件库 Agent 文档(无图形版)
|
||||
|
||||
> 自动生成于 2026-10-26T03:49:26.217Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 自动生成于 2026-10-26T03:51:18.113Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
|
||||
|
||||
## 快速上手
|
||||
@@ -80,6 +80,7 @@ image({ src: '/a.png', alt: '架构图', width: 160 })
|
||||
|
||||
- label(必填):string —— 按钮文案
|
||||
- variant(默认 primary):'primary' | 'ghost' | 'danger' —— 视觉强度;缺省 primary
|
||||
- type:'button' | 'submit' | 'reset' —— 原生类型;缺省 button,表单内不会意外提交
|
||||
- disabled:boolean | Signal<boolean> —— 禁用态:布尔直接置位,传信号则动态同步
|
||||
- onClick(回调):() => void —— 点击回调
|
||||
|
||||
@@ -94,6 +95,7 @@ button({ label: '提交', variant: 'primary', onClick: () => console.log('clicke
|
||||
1. 确定语义强度:主操作用 primary(默认),次要操作用 ghost,危险操作用 danger
|
||||
2. 绑定 onClick 回调处理点击逻辑
|
||||
3. 需要禁用态时自行在回调首行卫语句判断,或外层包条件渲染
|
||||
4. 放进 <form> 里需要提交时显式传 type: "submit";缺省 button 不会触发原生提交
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-counter
|
||||
|
||||
@@ -867,6 +869,7 @@ const name = signal(''); const f = form({ onSubmit: submit }, [formItem({ label:
|
||||
6. 非必填字段为空时跳过其余规则;Enter 键触发表单原生 submit(已拦截走校验流程)
|
||||
7. 错误态覆盖包裹式控件:标红作用于控件根与内部原生控件(含自绘 select 的触发器),并同步 aria-invalid,读屏与视觉一致
|
||||
8. 触发时机用 input / change / focusout(均会冒泡),因此 checkbox / select / 单选组这类包裹式控件同样能失焦校验
|
||||
9. 单行输入框内按 Enter 等同点击提交(textarea 内仍是换行);提交按钮为 type="submit",不会与点击回调重复触发
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-formlab
|
||||
|
||||
@@ -1170,7 +1173,7 @@ result({ status: 'success', title: '提交成功', description: '工单 #2049
|
||||
|
||||
API 速览:
|
||||
|
||||
- button(props):按钮,variant = primary | ghost | danger,disabled 支持布尔或信号禁用
|
||||
- button(props):按钮,variant = primary | ghost | danger,disabled 支持布尔或信号禁用;type 缺省 button(表单内不隐式提交)
|
||||
- textField(props):文本输入,value 信号双向绑定,disabled 支持布尔或信号,onInput 输入回调;prefix/suffix 可选渲染为输入框内侧附加块,clearable 开启后有值即显一键清空按钮
|
||||
- inputNumber(props):数字输入,−/+ 按钮与键盘 ↑↓ 调节(长按连发步进),min/max/step 夹取;prefix/suffix 可选渲染为整组前后附加块
|
||||
- textarea(props):多行输入,value 信号双向绑定,disabled 支持布尔或信号,rows 控行数;prefix/suffix 可选渲染为上下附加块,maxCount 显示实时字数并设原生上限
|
||||
|
||||
Reference in New Issue
Block a user