基础输入与操作

单行输入 AsamInput

单行文本、清空、格式化与输入装饰。

使用场景 ​

适合名称、邮箱、搜索词等单行输入。密码使用 AsamPassword,多行文本使用 AsamTextarea,数字步进使用 AsamInputNumber。普通 v-model 更新为字符串;number 修饰符可更新为数字。

type 支持 text、number、email、search、tel、url。单选、多选、日期及上传等场景使用对应的独立组件。

双向绑定与输入状态 ​

input 随输入触发,change 在值提交或失焦后触发;clearable 提供清空操作,readonly 和 disabled 表达不同的交互状态。

双向绑定与输入状态

展开源码

图标、前后缀与复合输入 ​

prefix/suffix 放入内部装饰,prepend/append 放入输入框外侧的复合内容。数值属性 maxlength 用绑定数字传入。

图标、前后缀与复合输入

展开源码

格式化与解析 ​

formatter 负责展示,parser 负责去掉展示装饰。辅助函数包含在双语言源码内,可与 SFC 一起复制。

格式化与解析

展开源码

聚焦、选中与清空 ​

通过公开 AsamInputExpose 类型访问 focus、select、clear、blur。IME 组合状态通过 isComposing 读取,组合输入事件的参数见 API。

聚焦、选中与清空

展开源码

四档密度与继承 ​

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

四档密度与继承

展开源码

ASAM 扩展与迁移 ​

四档 size 是 ASAM 密度扩展。 完整说明。

原生数值约束 ​

min/max/step 原样传入实际 input,保留浏览器约束语义,不自动裁剪字符串模型。需要数值步进时使用 AsamInputNumber。动态 type、光标和编辑草稿由 底层组件 与浏览器处理;number 等不支持文本选区的类型可能出现原生选区限制,ASAM 不替换 input 的 DOM 方法。

原生约束与可访问性

展开源码

字素计数 ​

countGraphemes 可按组合 emoji 或音调字符的可见字素计数。启用后计数、长度限制消费该函数,原生 maxlength/minlength 不设置;maxlength 仍用于展示与逻辑限制。wordLimitPosition 可以将计数放到外侧。

字素计数与长度限制

展开源码

自定义清空与组合输入 ​

clearIcon 设置清空标记;compositionstart/update/end 提供原生 CompositionEvent。input 保持字符串 payload。clearable 会占用后缀区域,容器可配置宽度以保持布局稳定。

自定义清空与 IME 事件

展开源码

API 阅读方式 ​

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

模型修饰符与真实更新类型 ​

支持 trim、number、lazy;number 可产生数字模型,lazy 在 change 时提交。切换 type 前先提交编辑,详见模型与提交规则。

模型修饰符与数字更新

展开源码

五入口表单继承与校验 ​

本完整 TS/JS 组合实际实例化单行、密码、多行、建议和标签五个入口。省略各入口 disabled 以继承表单状态;validateEvent 控制各自 change/blur 自动校验。切换禁用不会清空模型,关闭自动校验不影响编辑。五页注册同一组合源码的自包含副本,复制当前示例即可运行,无需从其他组件页补齐文件。

五入口表单继承与校验

展开源码

动态原生类型与状态保留 ​

在同一入口切换 text 与 number,可观察模型、焦点和前缀插槽。类型切换和编辑均委托原生;本示例不承诺未提交 lazy 草稿、光标位置或焦点跨所有类型组合保留。number 的 setSelectionRange 限制由浏览器决定。

动态原生类型与状态保留

展开源码

原生委托与事件记录 ​

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

原生委托与事件记录

展开源码

API

属性 AsamInputProps

属性名说明类型默认值
id等价于原生 input id 属性string | undefined—
size显式控件密度;省略时继承按钮组、表单和配置提供器。enum"large" | "big" | "default" | "small"完整类型:AsamControlSize | undefined—
disabled是否禁用boolean | undefinedfalse
modelValue输入值string | number | null | undefined—
modelModifiersv-model 修饰符,参考 Vue 修饰符(AsamInputProps)["modelModifiers"]—
maxlength等价于原生 maxlength 属性string | number | undefined—
minlength等价于原生 minlength 属性string | number | undefined—
mintype="number" 时的原生最小值。(string | number) | undefined—
maxtype="number" 时的原生最大值。(string | number) | undefined—
step原生步长,包括 any。(string | number) | undefined—
type文本输入类型;其他表单控件使用对应的独立组件。enum"number" | "text" | "email" | "search" | "tel" | "url"完整类型:AsamInputType | undefined—
autocomplete原生输入自动完成;联合类型包含大量字面量时可能触发 TS2590,详见 Vue 问题 10514。string | undefined—
formatter格式化显示内容。((value: string) => string) | undefined—
parser解析显示内容。((value: string) => string) | undefined—
placeholder输入框占位文本string | undefined—
form原生输入的表单关联。string | undefined—
readonly原生输入的只读状态。boolean | undefinedfalse
clearable是否显示清除按钮boolean | undefinedfalse
clearIcon自定义清除图标(AsamInputProps)["clearIcon"]—
showWordLimit字符计数。boolean | undefinedfalse
wordLimitPosition字数统计的位置,仅当 show-word-limit 为 true 时生效。enum"outside" | "inside"完整类型:"outside" | "inside" | undefined—
suffixIcon后缀图标。(AsamInputProps)["suffixIcon"]—
prefixIcon前缀图标。(AsamInputProps)["prefixIcon"]—
containerRole容器角色;原生内部属性用于选择器组件。string | undefined—
tabindex等价于原生 tabindex 属性string | number | undefined—
validateEvent是否触发表单验证boolean | undefinedfalse
inputStyle输入框或文本域元素样式。import("vue").StyleValuefalse
autofocus原生输入自动聚焦。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—
name原生属性string | undefined—
countGraphemes按字素统计输入长度;设置后不使用原生 maxlength 和 minlength。((value: string) => number) | undefined—

事件 AsamInputEmits

属性名说明类型默认值
update:modelValue—[value: string | number]—
input—[value: string]—
change—[value: string, event?: Event | undefined]—
focus—[event: FocusEvent]—
blur—[event: FocusEvent]—
clear—[event?: MouseEvent | undefined]—
mouseenter—[event: MouseEvent]—
mouseleave—[event: MouseEvent]—
keydown—[event: Event | KeyboardEvent]—
compositionstart—[event: CompositionEvent]—
compositionupdate—[event: CompositionEvent]—
compositionend—[event: CompositionEvent]—

插槽 AsamInputSlots

属性名说明类型默认值
prefix—(() => unknown) | undefined—
suffix—(() => unknown) | undefined—
prepend—(() => unknown) | undefined—
append—(() => unknown) | undefined—

实例方法与状态 AsamInputExpose

属性名说明类型默认值
input—HTMLInputElement | undefined—
textarea—HTMLTextAreaElement | undefined—
ref—HTMLInputElement | HTMLTextAreaElement | undefined—
textareaStyle—import("vue").StyleValue—
autosize—(AsamInputExpose)["autosize"]—
isComposing—boolean—
passwordVisible—boolean—
focus—() => void—
blur—() => void—
select—() => void—
clear—(event?: MouseEvent) => void—
resizeTextarea—() => void—

模型与事件补充说明 ​

模型修饰符与提交规则 ​

trim、number、lazy 按原生模型修饰协议承接。启用 number 时 update:modelValue 可能为数字;无法转换的文本仍为字符串。input/change 保留各自事件签名,不能从更新类型中删去合法数字。

lazy 依赖实际的原生 change 提交模型,失焦本身不额外提交。未提交的编辑草稿没有独立保存:切换 type 后,后续渲染会按父级已提交的 modelValue 恢复输入显示,草稿可能因此丢失;这也可能发生在同一输入节点仍保持焦点时。需要保留该次编辑值时,先完成提交并确认父级接受,再切换类型。

用法与契约补充说明 ​

ASAM 扩展与迁移 ​

四档 size 是 ASAM 密度扩展。旧 type="password" 和 showPassword 从单行输入迁至专用 Password;旧 type="textarea"、rows、autosize、resize 迁至专用 Textarea。ariaLabel、name、autocomplete、inputmode 按实际输入场景配置;validateEvent 控制表单校验触发。

原生委托与事件记录 ​

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

参数与事件补充说明

参数与事件说明

id

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

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

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

size

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

size 参数与事件数据

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

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

disabled

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

disabled 参数与事件数据

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

枚举:false / true

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

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

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

modelValue

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

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

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

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

modelModifiers

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

modelModifiers 参数与事件数据

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

  • modelModifiers.lazy: true | undefined — 上游声明

    枚举:true

  • modelModifiers.number: true | undefined — 上游声明

    枚举:true

  • modelModifiers.trim: true | undefined — 上游声明

    枚举:true

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

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

固定上游源码工厂(未执行):() => ({})(2.14.7;源码事实,未作为 ASAM 运行实测)

maxlength

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

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

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

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

minlength

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

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

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

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

min

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

max

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

step

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

type

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

type 参数与事件数据

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

枚举:"number" / "text" / "email" / "search" / "tel" / "url"

autocomplete

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

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

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

固定上游源码默认表达式:'off'(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 运行实测)

placeholder

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

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

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

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

form

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

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

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

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

readonly

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

readonly 参数与事件数据

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

枚举:false / true

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

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

clearable

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

clearable 参数与事件数据

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

枚举:false / true

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

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

clearIcon

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

clearIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamInputProps)["clearIcon"]>, (...args: never[]) => unknown>>[1]): any

  • clearIcon.__isFragment: undefined — 依赖声明
  • clearIcon.__isTeleport: undefined — 依赖声明
  • clearIcon.__isSuspense: undefined — 依赖声明
默认值与来源
未知 / 未声明

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

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

showWordLimit

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

showWordLimit 参数与事件数据

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

枚举:false / true

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

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

wordLimitPosition

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

wordLimitPosition 参数与事件数据

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

枚举:"outside" / "inside"

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

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

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

suffixIcon

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

suffixIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamInputProps)["suffixIcon"]>, (...args: never[]) => unknown>>[1]): any

  • suffixIcon.__isFragment: undefined — 依赖声明
  • suffixIcon.__isTeleport: undefined — 依赖声明
  • suffixIcon.__isSuspense: undefined — 依赖声明
默认值与来源
未知 / 未声明

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

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

prefixIcon

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

prefixIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamInputProps)["prefixIcon"]>, (...args: never[]) => unknown>>[1]): any

  • prefixIcon.__isFragment: undefined — 依赖声明
  • prefixIcon.__isTeleport: undefined — 依赖声明
  • prefixIcon.__isSuspense: undefined — 依赖声明
默认值与来源
未知 / 未声明

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

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

containerRole

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

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

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

tabindex

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

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

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

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

validateEvent

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

validateEvent 参数与事件数据

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

枚举:false / true

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

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

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

inputStyle

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

inputStyle 参数与事件数据

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

枚举:false

嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

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

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

固定上游源码工厂(未执行):() => mutable({} as const)(2.14.7;源码事实,未作为 ASAM 运行实测)

autofocus

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

autofocus 参数与事件数据

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

枚举:false / true

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

固定上游文档默认:false(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 运行实测)

name

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

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

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

countGraphemes

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

countGraphemes 参数与事件数据

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

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

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

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

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

AsamInputProps 公开类型视图
ts
import type { Attrs } from 'vue';
import type { AsamInputProps, AsamInputOtpProps, AsamControlSize, AsamInputType, AsamInputExpose } from '@asam-ui/ui';

type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;

// AsamInputProps
type PublicContract = {
	readonly "id"?: string | undefined;
	readonly "size"?: AsamControlSize | undefined;
	readonly "disabled"?: boolean | undefined;
	readonly "modelValue"?: string | number | null | undefined;
	readonly "modelModifiers"?: (AsamInputProps)["modelModifiers"];
	readonly "maxlength"?: string | number | undefined;
	readonly "minlength"?: string | number | undefined;
	readonly "min"?: (string | number) | undefined;
	readonly "max"?: (string | number) | undefined;
	readonly "step"?: (string | number) | undefined;
	readonly "type"?: AsamInputType | undefined;
	readonly "autocomplete"?: string | undefined;
	readonly "formatter"?: ((value: string) => string) | undefined;
	readonly "parser"?: ((value: string) => string) | undefined;
	readonly "placeholder"?: string | undefined;
	readonly "form"?: string | undefined;
	readonly "readonly"?: boolean | undefined;
	readonly "clearable"?: boolean | undefined;
	readonly "clearIcon"?: (AsamInputProps)["clearIcon"];
	readonly "showWordLimit"?: boolean | undefined;
	readonly "wordLimitPosition"?: "outside" | "inside" | undefined;
	readonly "suffixIcon"?: (AsamInputProps)["suffixIcon"];
	readonly "prefixIcon"?: (AsamInputProps)["prefixIcon"];
	readonly "containerRole"?: string | undefined;
	readonly "tabindex"?: string | number | undefined;
	readonly "validateEvent"?: boolean | undefined;
	readonly "inputStyle"?: import("vue").StyleValue;
	readonly "autofocus"?: boolean | undefined;
	readonly "ariaLabel"?: string | undefined;
	readonly "inputmode"?: "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined;
	readonly "name"?: string | undefined;
	readonly "countGraphemes"?: ((value: string) => number) | undefined;
};

参数与事件说明

update:modelValue

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

input

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

change

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

focus

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

blur

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

clear

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

mouseenter

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

mouseleave

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

keydown

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

compositionstart

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

compositionupdate

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

compositionend

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

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

// AsamInputEmits
type PublicContract = {
	"update:modelValue": [value: string | number];
	"input": [value: string];
	"change": [value: string, event?: Event | undefined];
	"focus": [event: FocusEvent];
	"blur": [event: FocusEvent];
	"clear": [event?: MouseEvent | undefined];
	"mouseenter": [event: MouseEvent];
	"mouseleave": [event: MouseEvent];
	"keydown": [event: Event | KeyboardEvent];
	"compositionstart": [event: CompositionEvent];
	"compositionupdate": [event: CompositionEvent];
	"compositionend": [event: CompositionEvent];
};

参数与事件说明

prefix

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

prefix 参数与事件数据

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

事件参数:(): unknown

suffix

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

suffix 参数与事件数据

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

事件参数:(): unknown

prepend

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

prepend 参数与事件数据

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

事件参数:(): unknown

append

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

append 参数与事件数据

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

事件参数:(): unknown

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

// AsamInputSlots
type PublicContract = {
	"prefix"?: (() => unknown) | undefined;
	"suffix"?: (() => unknown) | undefined;
	"prepend"?: (() => unknown) | undefined;
	"append"?: (() => unknown) | undefined;
};

响应式实例状态与基础编辑操作。

参数与事件说明

input

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

input 参数与事件数据

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

嵌套展开边界:大型实例类型;完整类型见公开类型视图。

textarea

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

textarea 参数与事件数据

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

嵌套展开边界:大型实例类型;完整类型见公开类型视图。

ref

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

ref 参数与事件数据

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

嵌套展开边界:大型实例类型;完整类型见公开类型视图。

textareaStyle

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

textareaStyle 参数与事件数据

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

枚举:false

嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

autosize

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

autosize 参数与事件数据

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

枚举:false / true

  • autosize.minRows: number | undefined — 上游声明
  • autosize.maxRows: number | undefined — 上游声明
isComposing

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

isComposing 参数与事件数据

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

枚举:false / true

passwordVisible

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

passwordVisible 参数与事件数据

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

枚举:false / true

focus

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

focus 参数与事件数据

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

事件参数:(): void

blur

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

blur 参数与事件数据

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

事件参数:(): void

select

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

select 参数与事件数据

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

事件参数:(): void

clear

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

clear 参数与事件数据

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

事件参数:(event?: MouseEvent | undefined): void

resizeTextarea

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

resizeTextarea 参数与事件数据

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

事件参数:(): void

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

type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;

// AsamInputExpose
type PublicContract = {
	readonly "input": HTMLInputElement | undefined;
	readonly "textarea": HTMLTextAreaElement | undefined;
	readonly "ref": HTMLInputElement | HTMLTextAreaElement | undefined;
	readonly "textareaStyle": import("vue").StyleValue;
	readonly "autosize": (AsamInputExpose)["autosize"];
	readonly "isComposing": boolean;
	readonly "passwordVisible": boolean;
	"focus": () => void;
	"blur": () => void;
	"select": () => void;
	"clear": (event?: MouseEvent) => void;
	"resizeTextarea": () => void;
};

搜索文档

Tab 选择结果 Enter 打开 Esc 关闭