InputItem 输入框

单行文本输入框,支持特殊场景文本格式化

引入

import { InputItem } from 'mand-mobile-next'

Vue.createApp().component(InputItem.name, InputItem)

使用指南

TIP

表单校验可使用第三方工具,如vee-validate,使用示例可参考表单校验

代码演示

API

InputItem Props

属性说明类型默认值备注
type表单类型,特殊类型自带文本格式化Stringtexttext(文本),bankCard(银行卡号),phone(手机号),
money(金额),digit(数字),password(密码),
以及其他的标准Html Input类型
preview-type表单预览类型String-一般用于初始化时的特殊表单值(如带掩码的身份证号,手机号)预览,第一次触发编辑操作如点击退格键及其他字符键点击时,先清空预填值并将表单类型切换至type
name表单名称String-事件入参之一,可用于区分表单组件
v-model表单值String--
title表单左侧标题String-可直接使用slot left代替
solid是否固定标题宽度,超出会自动换行Booleantrue-
placeholder表单占位符String--
brief表单描述String--
maxlength表单最大字符数String/Number-phone类型固定为11
size表单尺寸Stringnormallarge,normal
align表单文本对齐方式Stringleftleft,center,right
error表单错误提示信息String--
readonly表单是否只读Booleanfalse-
disabled表单是否禁用Booleanfalse-
is-title-latent表单标题是否隐藏Booleanfalse表单获得焦点或内容不为空时展示
is-highlight表单是否高亮Booleanfalse表单获得焦点边框高亮
is-formative表单文本是否根据类型自动格式化BooleantypebankCard,phone, money默认为true,否则为false-
is-amount表单内容为金融数字Booleanfalse-
formation表单文本格式化回调方法Function(name, curValue, curPos): {value: curValue, range: curPos}-传入参数name为表单名称,curValue为表单值,curPos为表单光标当前所在位置
返回参数value格式化值, range表单光标格式化后所在位置
clearable表单是否使用清除控件Booleanfalse-
is-virtual-keyboard表单是否使用金融数字键盘控件Booleanfalse-
virtual-keyboard-disorder金融数字键盘数字键乱序Booleanfalse-
virtual-keyboard-ok-text金融数字键盘确认键文案String确定-
virtual-keyboard-vm金融数字键盘ref名称String-一般用于自定义键盘

InputItem Slots

left

左侧插槽,一般用于放置图标等

右侧插槽,一般用于放置图标等

brief

表单描述插槽,一般用于描述内容较复杂,用Propsbrief无法满足的情况,需用v-if控制(不推荐)

error

表单错误插槽,一般用于错误内容较复杂,用Propserror无法满足的情况,需用v-if控制,参考示例中的错误提示(不推荐)

InputItem Methods

focus()

表单获得焦点

blur()

表单失去焦点

getValue()

获取表单值

InputItem Events

@focus(name)

表单获得焦点事件

@blur(name)

表单失去焦点事件

@change(name, value)

表单值变化事件

@confirm(name, value)

表单值确认事件, 仅使用金融数字键盘或组件在form元素内时有效

@keyup(name, event)

表单按键按下事件,仅is-virtual-keyboardfalse时触发

@keydown(name, event)

表单按键释放事件,仅is-virtual-keyboardfalse时触发

表单校验 WIP