基础输入与操作

数字输入 AsamInputNumber

数字步进、范围、精度、清空值与数字事件。

使用场景 ​

用于数量和有限精度的数值输入。v-model 为 number、null 或 undefined;change 同时提供新值与之前的值。需要格式化文本展示时见 Input。

范围与步进 ​

min/max 控制范围,step 控制步长;stepStrictly 约束为步长倍数。

省略 min/max 时保留固定原生的 Number.MIN_SAFE_INTEGER / Number.MAX_SAFE_INTEGER 默认边界,提交不安全整数会裁剪到该范围。应用需要其他范围时显式配置边界。

默认安全整数边界

展开源码

范围与步进

展开源码

精度与清空值 ​

precision 控制小数位;步长小数位不要超过 precision。valueOnClear 明确清空后的值;disabledScientific 禁止科学计数法字符。

精度与清空值

展开源码

单位与控制图标 ​

prefix/suffix 显示单位;increase-icon/decrease-icon 定义步进图标。实例公开 focus 与 blur。

单位与控制图标

展开源码

四档密度与继承 ​

large / big / default / small 分别为四档密度。显式 size 覆盖继承;省略 size 时按组件、组、表单、ConfigProvider 到 default 解析。通过切换 provider 验证继承响应。

四档密度与继承

展开源码

ASAM 扩展与迁移 ​

四档 size 保持继承;模型使用数字,空值按 valueOnClear 处理,不将字符串模型直接迁入。默认清空与非法格式可产生 null;input、update:modelValue 和 change 的新旧值均如实保留该空值。

数字格式化与解析 ​

formatter 改变显示,parser 解析编辑文本;模型和事件仍保留 number、null 或 undefined。动态切换 formatter 原样交给原生,ASAM 不通过 key 重建输入节点,不修复原生 text/number 切换的选区限制。tabindex 作用于实际 input。

格式化、解析与内部 tabindex

展开源码

空值、非法格式与恢复 ​

省略 valueOnClear 时默认清空为 null,显式配置可使用数字、null、min 或 max。 完整说明。

空值、非法格式与恢复

展开源码

完整输入边界 ​

stepStrictly 保证步长倍数,precision 限定小数位且不能小于 step 的小数位数。 完整说明。

严格步进、精度和输入边界

展开源码

API 阅读方式 ​

下方 API 来自当前公开类型与运行默认值。默认值标为“未知 / 未声明”时,不代表 false、空值或未支持。省略 size 保留祖先上下文继承。省略 disabled 保留表单禁用继承;validateEvent 控制校验事件,不用 disabled 代替。

动态表单状态与无障碍范围 ​

disabled、min/max 的更新委托 底层输入。 完整说明。

动态表单状态与无障碍范围

展开源码

原生委托与事件记录 ​

下方完整 TS/JS 示例记录模型及事件顺序,并可切换禁用、只读和自动校验状态。 完整说明。

原生委托与事件记录

展开源码

API

属性 AsamInputNumberProps

属性名说明类型默认值
id等价于原生 input id 属性string | undefined—
step计数器步长number | undefined—
stepStrictly是否只能输入 step 的倍数boolean | undefinedfalse
max上界,默认 Number.MAX_SAFE_INTEGER。number | undefined—
min下界,默认 Number.MIN_SAFE_INTEGER。number | undefined—
modelValue输入值number | null | undefined—
readonly原生输入的只读状态。boolean | undefinedfalse
disabled是否禁用boolean | undefinedfalse
size显式控件密度;省略时继承按钮组、表单和配置提供器。enum"large" | "big" | "default" | "small"完整类型:AsamControlSize | undefined—
controls是否使用控制按钮boolean | undefinedfalse
controlsPosition控制按钮位置enum"" | "right"完整类型:"" | "right" | undefined—
valueOnClear当输入框被清空时显示的值enum"max" | "min"完整类型:number | "max" | "min" | null | undefined—
name原生属性string | undefined—
placeholder输入框占位文本string | undefined—
precision数值精度number | undefined—
validateEvent是否触发表单验证boolean | undefinedfalse
ariaLabel原生 aria-label属性string | undefined—
inputmode原生虚拟键盘输入模式。enum"text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal"完整类型:"text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined—
align内部输入文本对齐enum"right" | "left" | "center"完整类型:"right" | "left" | "center" | undefined—
disabledScientific是否禁止输入科学计数法字符,例如 e、E。boolean | undefinedfalse
formatter格式化显示文字,同时保留数字模型。((value: string) => string) | undefined—
parser应用数字边界与精度前解析编辑后的显示文字。((value: string) => string) | undefined—
tabindex实际内部输入框的键盘顺序,默认 0。string | number | undefined—

事件 AsamInputNumberEmits

属性名说明类型默认值
update:modelValue空值或无效输入在提交前后都可能产生 null。[value: number | null | undefined]—
change—[value: number | null | undefined, previousValue: number | null | undefined]—
input—[value: number | null | undefined]—
focus—[event: FocusEvent]—
blur—[event: FocusEvent]—

插槽 AsamInputNumberSlots

属性名说明类型默认值
prefix—(() => unknown) | undefined—
suffix—(() => unknown) | undefined—
increase-icon—(() => unknown) | undefined—
decrease-icon—(() => unknown) | undefined—

实例方法与状态 AsamInputNumberExpose

属性名说明类型默认值
focus—() => void—
blur—() => void—

用法与契约补充说明 ​

空值、非法格式与恢复 ​

省略 valueOnClear 时默认清空为 null,显式配置可使用数字、null、min 或 max。 非法格式编辑可能产生 null;重新键入有效数字即可恢复。模型及 update:modelValue、 input、change 的新旧值类型均为 number | null | undefined,不能把 null 当作字符串 或从事件协议中删除。

完整输入边界 ​

stepStrictly 保证步长倍数,precision 限定小数位且不能小于 step 的小数位数。min/max 在提交时限定范围;valueOnClear 指定清空后的值。disabled、readonly、controls、controlsPosition 分别控制禁用、只读、按钮显示和按钮位置。disabledScientific 禁止键盘 e/E,业务仍应校验数据。

动态表单状态与无障碍范围 ​

disabled、min/max 的更新委托 底层输入。2.14.7 原生在挂载时初始化部分 ARIA 属性,后续动态更新可能仍显示旧的 aria-disabled/aria-valuemin/aria-valuemax。ASAM 保留这一兼容限制,不使用 MutationObserver 改写属性,也不以重挂载恢复选区。

原生委托与事件记录 ​

下方完整 TS/JS 示例记录模型及事件顺序,并可切换禁用、只读和自动校验状态。省略的基础参数使用原生 defaults;显式 undefined/null/false 原样传入,合法值范围见 API。四档 size 是 ASAM 的视觉桥接;Password 额外固定 type=password,并在省略 showPassword 时启用显隐入口。

参数与事件补充说明

参数与事件说明

id

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:undefined(2.14.7;源码事实,未作为 ASAM 运行实测)

step

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:1(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:1(2.14.7;源码事实,未作为 ASAM 运行实测)

stepStrictly

必填:否;声明来源:ASAM 声明。

stepStrictly 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

max

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:Number.MAX_SAFE_INTEGER(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:Number.MAX_SAFE_INTEGER(2.14.7;源码事实,未作为 ASAM 运行实测)

min

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:Number.MIN_SAFE_INTEGER(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:Number.MIN_SAFE_INTEGER(2.14.7;源码事实,未作为 ASAM 运行实测)

modelValue

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

readonly

必填:否;声明来源:ASAM 声明。

readonly 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

disabled

必填:否;声明来源:ASAM 声明。

disabled 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:undefined(2.14.7;源码事实,未作为 ASAM 运行实测)

size

必填:否;声明来源:ASAM 声明。

size 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"large" / "big" / "default" / "small"

controls

必填:否;声明来源:ASAM 声明。

controls 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

controlsPosition

必填:否;声明来源:ASAM 声明。

controlsPosition 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"" / "right"

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:''(2.14.7;源码事实,未作为 ASAM 运行实测)

valueOnClear

必填:否;声明来源:ASAM 声明。

valueOnClear 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"max" / "min"

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:null(2.14.7;源码事实,未作为 ASAM 运行实测)

name

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

placeholder

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

precision

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

validateEvent

必填:否;声明来源:ASAM 声明。

validateEvent 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

ariaLabel

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

inputmode

必填:否;声明来源:ASAM 声明。

inputmode 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"text" / "email" / "search" / "tel" / "url" / "none" / "numeric" / "decimal"

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:undefined(2.14.7;源码事实,未作为 ASAM 运行实测)

align

必填:否;声明来源:ASAM 声明。

align 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"right" / "left" / "center"

默认值与来源
未知 / 未声明

固定上游文档默认:'center'(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:'center'(2.14.7;源码事实,未作为 ASAM 运行实测)

disabledScientific

必填:否;声明来源:ASAM 声明。

disabledScientific 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

formatter

必填:否;声明来源:ASAM 声明。

formatter 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(value: string): string

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

parser

必填:否;声明来源:ASAM 声明。

parser 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(value: string): string

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

tabindex

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:0(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:0(2.14.7;源码事实,未作为 ASAM 运行实测)

AsamInputNumberProps 公开类型视图
ts
import type { AsamInputNumberProps, AsamControlSize } from '@asam-ui/ui';

// AsamInputNumberProps
type PublicContract = {
	readonly "id"?: string | undefined;
	readonly "step"?: number | undefined;
	readonly "stepStrictly"?: boolean | undefined;
	readonly "max"?: number | undefined;
	readonly "min"?: number | undefined;
	readonly "modelValue"?: number | null | undefined;
	readonly "readonly"?: boolean | undefined;
	readonly "disabled"?: boolean | undefined;
	readonly "size"?: AsamControlSize | undefined;
	readonly "controls"?: boolean | undefined;
	readonly "controlsPosition"?: "" | "right" | undefined;
	readonly "valueOnClear"?: number | "max" | "min" | null | undefined;
	readonly "name"?: string | undefined;
	readonly "placeholder"?: string | undefined;
	readonly "precision"?: number | undefined;
	readonly "validateEvent"?: boolean | undefined;
	readonly "ariaLabel"?: string | undefined;
	readonly "inputmode"?: "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined;
	readonly "align"?: "right" | "left" | "center" | undefined;
	readonly "disabledScientific"?: boolean | undefined;
	readonly "formatter"?: ((value: string) => string) | undefined;
	readonly "parser"?: ((value: string) => string) | undefined;
	readonly "tabindex"?: string | number | undefined;
};

参数与事件说明

update:modelValue

必填:是;声明来源:ASAM 声明。

change

必填:是;声明来源:ASAM 声明。

input

必填:是;声明来源:ASAM 声明。

focus

必填:是;声明来源:ASAM 声明。

blur

必填:是;声明来源:ASAM 声明。

AsamInputNumberEmits 公开类型视图
ts
import type { AsamInputNumberEmits } from '@asam-ui/ui';

// AsamInputNumberEmits
type PublicContract = {
	"update:modelValue": [value: number | null | undefined];
	"change": [value: number | null | undefined, previousValue: number | null | undefined];
	"input": [value: number | null | undefined];
	"focus": [event: FocusEvent];
	"blur": [event: FocusEvent];
};

参数与事件说明

prefix

必填:否;声明来源:ASAM 声明。

prefix 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

suffix

必填:否;声明来源:ASAM 声明。

suffix 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

increase-icon

必填:否;声明来源:ASAM 声明。

increase-icon 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

decrease-icon

必填:否;声明来源:ASAM 声明。

decrease-icon 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

AsamInputNumberSlots 公开类型视图
ts
import type { AsamInputNumberSlots } from '@asam-ui/ui';

// AsamInputNumberSlots
type PublicContract = {
	"prefix"?: (() => unknown) | undefined;
	"suffix"?: (() => unknown) | undefined;
	"increase-icon"?: (() => unknown) | undefined;
	"decrease-icon"?: (() => unknown) | undefined;
};

参数与事件说明

focus

必填:是;声明来源:ASAM 声明。

focus 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

blur

必填:是;声明来源:ASAM 声明。

blur 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

AsamInputNumberExpose 公开类型视图
ts
import type { AsamInputNumberExpose } from '@asam-ui/ui';

// AsamInputNumberExpose
type PublicContract = {
	"focus": () => void;
	"blur": () => void;
};

搜索文档

Tab 选择结果 Enter 打开 Esc 关闭