uiUI 组件系统
对比

数字输入

Number Input / Spinbutton

让数值以可验证的格式输入,并可按步长增减。

交互预览实时预览

范围 1–20,可键入或使用原生步进器

键入数字或用上下方向键调整
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'number-input'
);

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

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

什么时候用

数量、阈值和需要精确录入的参数。

什么时候不用

电话号码、邮编等标识符应作为文本,不当作可计算数值。

COMPONENT API

属性与事件

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

属性默认值
label"副本数量"
name"sample-copies"
value3
min1
max20
step1
disabledfalse
help"范围 1–20,可键入或使用原生步进器"
id—
attributes—
placeholder—
required—
readOnly—
minLength—
maxLength—
autocomplete—

事件

ui:change

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

INTERACTION NOTES

交互与可访问性

  • 最小值、最大值与步长表达清楚。
  • 允许直接键入,格式化不要破坏编辑光标。

和相似组件的区别

Number Input 强调精确值;Slider 强调范围位置。

RESEARCH & ALTERNATIVES

官方实现映射

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

Element PlusInput Number
官方提供

数字、步长、上下限与控制按钮。

关键状态

空值有效数值越界禁用

Vue / Nuxt · 来源核验

一起了解

滑块与范围 ↗单行文本输入 ↗表单与字段 ↗