Skip to content

Input & Label 输入框与标签 ​

显示一个表单输入框。可与 SLabel 搭配,或使用 SField 提供标签、描述与错误信息。

基础用法 ​

网页近似预览,真机效果以 HarmonyOS 渲染为准。

带标签 ​

SLabel:text-sm font-medium leading-none。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

类型与状态 ​

网页近似预览,真机效果以 HarmonyOS 渲染为准。

尺寸 ​

sizing:'sm'(32)| 'default'(36)| 'lg'(40)。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

图标、清除按钮与计数 ​

icon / iconRight、clearable(有内容时显示 ×)与 showCount(长度/最大长度)。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

受控 ​

像 v-model 一样用 !! 绑定 value。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

API ​

从组件库源码中的 @Param / @Event / @BuilderParam 声明自动提取。

SInput ​

shadcn-vue 的 Input:h-9 w-full rounded-md border px-3 py-1 text-sm,应用于原生 TextInput。

变体:sizing 取 sm | default | lg;前导 icon / 尾部 iconRight(lucide 名称);clearable(有文字时显示的 ×,点击即清空);showCount(12/80 计数,使用 maxLength)以及 invalid 错误状态。

请使用 inputType 代替 type(与原生枚举冲突)。位于无效的 SField 内时会自动应用无效外观;位于横向的 SField 内时会占据剩余的行宽。modifier 用于设置内部 TextInput 的样式。

属性类型默认值说明
value!!string | undefinedundefined受控值(配合 !! 使用)。留空则为非受控。
defaultValuestring''
placeholderResourceStr''
inputTypeInputKind
InputKind = 'text' | 'password' | 'email' | 'number'
'text'
invalidbooleanfalse
disabledbooleanfalse
maxLengthnumber | undefinedundefined
sizingInputSize
InputSize = 'sm' | 'default' | 'lg'
'default'
iconstring | undefinedundefined前导 lucide 图标(弱化)。
iconRightstring | undefinedundefined尾部 lucide 图标(弱化)。
clearablebooleanfalse尾部的 ×,用于清空文字(有文字时显示)。
showCountbooleanfalse尾部字数统计(length/maxLength)。
labelstring | undefinedundefined没有可见标签时使用的无障碍名称。
modifierAttributeModifier<TextInputAttribute>new SparkNoopModifier<TextInputAttribute>()在配方之后应用的额外样式(冲突时以此为准)。
tokensInputTokens{}实例级令牌覆盖(实例 → 主题 --input-* → 配方),参见 {@link InputTokens}。
事件类型默认值说明
onValueChange(v: string) => void() => { }
onSubmit(v: string) => void() => { }按下 Enter / 输入法动作键;接收当前值。

SLabel ​

shadcn-vue 的 Label:flex items-center gap-2 text-sm leading-none font-medium select-none;所关联的控件被禁用时为 opacity-50(此处通过 disabled 参数实现,因为 ArkUI 没有 peer-disabled)。

属性类型默认值说明
textResourceStr | undefinedundefined
requiredbooleanfalse追加一个 destructive 颜色的 *。
disabledbooleanfalse禁用外观(透明度 50%)。

插槽: 子组件(尾随闭包)

MIT Licensed