输入框 Input

基于原生组件Input封装,用于接收单行文本,支持文本、密码、数字、身份证等类型的输入。

用户可控制是否显示输入框标题,是否出现清除按钮,还可以自定义 Input 组件的右边部分(传入 slot),实现自定义按钮、验证码输入框等。

基础案例

Input的标题部分是通过 label 属性来实现,你还可以通过placeholder 来显示自定义的占位文本。

示例代码

  1. <l-input label="用户名" placeholder="请输入用户名" />
  2. <l-input label="密码" placeholder="请输入密码" />

基础案例

对齐方式

根据具体需求,选择最佳的标签对齐方式(输入框标题和输入框部分)。

label-layout 默认值是 left ,即输入框标题在 label-width 设置的范围内居左显示。值为 right 时,输入框标题居右显示。

另外,我们还可以通过 label-width 来设置标题部分的宽度,默认是200,单位是rpx。

示例代码

  1. <l-input label="名称" label-layout="left" label-width="170" />
  2. <l-input label="名称" label-layout="right" label-width="170" />

位置

输入框类型

输入框类型的可选值有 textidcardpasswordnumberdigit ,可根据不同的场景选择。

示例代码

  1. <l-input label="数字" type="number" placeholder="请输入数字" />

类型

清除按钮

当我们设置 cleartrue 时,并且当输入框输入内容后,会显示 清除按钮 ,我们可以通过点击它来清除文本内容。

示例代码

  1. <l-input label="清除按钮" clear="{{true}}" />

清除按钮

设置必选项

当我们需要将输入框设置为必选项时,设置 requiredtrue 即可。

示例代码

  1. <l-input label="必填" placeholder="这里是必填项" />

input

设置校验规则

设置表单校验是为了在防止用户犯错的前提下,尽可能让用户更早地发现并纠正错误,我们可以通过 rules 属性来设置相对应的校验规则。

示例代码

  1. <l-input label="银行卡号" placeholder="请输入代理商的银行卡号" />

设置禁用

当我们需要讲表单项禁用时,设置 disabledtrue 即可。

示例代码

  1. <l-input label="禁用" disabled="{{true}}" placeholder="禁止输入" />

disabled

自定义Input组件右边部分

通过 <slot> 的方式可以自定义Input 组件的右边部分,实现自定义按钮、验证码输入框等。另外需要注意的是传入进去的slot需要制定他的slot属性的值为right

示例代码

  1. <l-input label="验证码" label-layout="left" placeholder="请输入验证码" >
  2. <img slot="right" src="path/to/img.png">
  3. </l-input>

自定义

自定义Input组件左边(label)部分

通过 <slot> 的方式可以自定义Input 组件的label部分,实现带图标的输入框等。

示例代码

  1. <l-input placeholder="请输入邮箱" >
  2. <view class="email" slot="left">
  3. <img src="path/to/email.png">
  4. <text>邮箱:</text>
  5. </view>
  6. </l-input>

表单项属性(Input Attributes)

参数说明类型可选值默认值
label表单标题(label)的文本String
width表单的宽,单位是rpxNumber750
required是否必选Booleantrue/falsefalse
type输入框类型,可选值为 text,idcard,digit,password,numberStringtext/idcard/digit/password/numbertext
value输入框的值String
placeholder占位文本String
colon是否需要冒号Booleantrue/falsefalse
focus获取焦点Booleantrue/falsefalse
clear是否显示清除按钮Booleantrue/falsefalse
maxlength最大输入长度,设置为 -1 的时候不限制最大长度Number140
rules输入内容的校验规则Object
label-width表单项标题部分的宽度,单位rpxNumber200
disabled设置是否禁用Booleantrue/falsefalse
label-layout设置表单标题的显示位置Stringleft/rightleft
placeholder-style设置输入框占位文本的内联样式String
l-class设置表单项的外部样式类String
tip-type校验错误提醒方式Stringtoast/message/text-
l-error-texttipType 为 text 时,错误提示信息外部样式类String

表单项事件 (表单项 Events)

事件名称说明返回值备注
bind:linchange键盘输入时触发输入框当前值 value-
bind:linfocus输入框聚焦时触发输入框当前值 value-
bind:linblur输入框失去焦点时触发输入框当前值 value-
bind:linconfirm点击完成按钮时触发输入框当前值 value-