Skip to content

Input 输入框

一套清晰、亲切的手绘风输入框,适用于表单、搜索、筛选与轻量录入场景。

录入提示先选择输入语义,再组合尺寸、状态与附加内容,避免在同一字段上堆叠过多操作。

类型

输入类型尽量沿用浏览器原生语义;文本域通过 multiline 开启,图标和标签由 Slot 提供。

html
<super-input type="search" placeholder="搜索关键词">
  <search-icon slot="suffix"></search-icon>
</super-input>

<super-input type="password" revealable></super-input>
<super-input multiline rows="3"></super-input>

尺寸

大、中、小三档尺寸会同步调整输入区、字号和附加元素。外部宽度通过 --super-input-width 控制。

搜索

搜索

搜索

状态

悬停和聚焦列使用固定演示样式;页面中的普通输入框可以直接交互体验真实状态。

默认悬停聚焦禁用只读基础输入

搜索框

密码框

校验状态

validation 只表达校验结果,提示文字由 helper-text 提供;错误状态会自动把内部控件标记为 aria-invalid="true"

附加元素

附加内容不绑定任何图标库。prefixsuffixaction Slot 可以接收文本、SVG、图标组件或 super-button

常用组合

API

Attributes / Properties

名称类型默认值说明
valuestring空字符串当前输入值;用户输入时同步到组件属性
typetext | search | password | number | email | tel | url | datetext内部原生输入类型
sizelarge | medium | smallmedium输入框尺寸
validationnone | success | warning | error | infonone校验视觉与辅助语义
placeholderstring空字符串占位提示
helper-textstring空字符串输入框下方的帮助或错误信息
disabledbooleanfalse禁止输入和附加操作
readonlybooleanfalse内容只读,仍可聚焦和选择
requiredbooleanfalse转发必填语义并显示必填标记
clearablebooleanfalse有值时显示清空按钮
revealablebooleanfalse密码类型显示可见性按钮
multilinebooleanfalse使用内部 textarea
rowsnumber3文本域初始行数
maxlength / minlengthnumber未设置字符长度约束
show-countbooleanfalse配合 maxlength 显示字数统计
min / max / stepstring空字符串数字等原生类型约束
inputmode / autocompletestring空字符串转发原生输入提示
aria-labelstring空字符串转发给内部输入控件的可访问名称
clear-labelstring清空输入清空按钮的可访问名称,可用于本地化
decrement-label / increment-labelstring减少数值 / 增加数值数字步进按钮的可访问名称
password-show-label / password-hide-labelstring显示密码 / 隐藏密码密码可见性按钮在两种状态下的可访问名称

value 是运行时状态,用户输入后不会反射回 HTML attribute。组件当前没有声明原生表单关联能力,不应把内部字段的 requiredname 当作表单提交契约。

内置操作默认提供中文可访问名称。非中文产品应通过对应的 *-label 属性覆盖,例如:

html
<super-input
  type="password"
  revealable
  clearable
  clear-label="Clear value"
  password-show-label="Show password"
  password-hide-label="Hide password"
></super-input>

Events

名称detail说明
super-input{ value, originalEvent }每次输入后触发,支持冒泡并穿过 Shadow DOM
super-change{ value, originalEvent }原生 change 时触发
super-clear{ previousValue }点击清空按钮后触发
super-password-visibility{ visible }密码可见性变化后触发

内部原生 inputchange 事件也会按浏览器规则传播;跨框架状态同步优先监听 super-input

Methods

名称说明
focus(options?)聚焦内部输入控件
blur()移除内部输入焦点
select()选择内部输入文本

Slots

名称说明
prefix左侧标签、图标或金额符号
suffix右侧图标、域名或单位
action与输入框组合的操作按钮

CSS Parts

名称说明
control手绘边框容器
input内部原生 inputtextarea
prefix / suffix / action三个附加区域
clear-button / password-toggle / step-button内置操作按钮
validation-icon / required-mark校验与必填标识
meta / helper / count底部辅助信息与字数统计

CSS Custom Properties

css
super-input {
  --super-input-width: 260px;
  --super-input-background: #fffef9;
  --super-input-color: #292524;
  --super-input-border-color: #34445f;
  --super-input-hover-color: #4cae72;
  --super-input-focus-color: #356df3;
  --super-input-rotation: -0.12deg;
}