介绍
@axa-ch/input-text 是一个基于 Vue.js 开发的文本输入框组件,提供了多个配置项和样式自定义接口。
安装
使用 npm 进行安装:
npm install @axa-ch/input-text --save
使用
在 Vue.js 组件中引入 @axa-ch/input-text 并注册:
-- -------------------- ---- ------- ---------- ----- --------------- -------------- ----------- -- ------ ----------- -------- ------ ------------ ---- --------------------- ------ ------- - ----------- - ------------ -- ------ - ------ - ----- -- -- - -- ---------
此时,输入框即可在页面上正确渲染。
配置项
@axa-ch/input-text 提供了多个配置项供开发者进行自定义。
label
- 类型:
String
- 默认值:
''
- 描述:显示在输入框的标签文本。
variation
- 类型:
String
- 默认值:
'default'
- 描述:输入框的外观变化,可选值包括
'default'
、'search'
、'multiline'
。
size
- 类型:
String
- 默认值:
''
- 描述:输入框的大小,可选值包括
'large'
、'medium'
、'small'
。
state
- 类型:
String
- 默认值:
'normal'
- 描述:输入框的状态,可选值包括
'normal'
、'error'
、'disabled'
。
disabled
- 类型:
Boolean
- 默认值:
false
- 描述:输入框是否禁用。
readonly
- 类型:
Boolean
- 默认值:
false
- 描述:输入框是否为只读。
required
- 类型:
Boolean
- 默认值:
false
- 描述:输入框是否必填。
autofocus
- 类型:
Boolean
- 默认值:
false
- 描述:是否自动聚焦输入框。
placeholder
- 类型:
String
- 默认值:
''
- 描述:输入框中显示的占位文字。
maxlength
- 类型:
Number
- 默认值:
null
- 描述:输入框的最大长度。
minlength
- 类型:
Number
- 默认值:
null
- 描述:输入框的最小长度。
pattern
- 类型:
String
- 默认值:
''
- 描述:输入框的正则表达式,用于检验用户输入的格式。
format
- 类型:
String
- 默认值:
''
- 描述:输入框的格式,比如日期格式
'Y-m-d'
,用于让用户输入符合特定格式的文本。
mask
- 类型:
String
- 默认值:
''
- 描述:输入框的掩码,比如电话号码掩码
'111-1111-1111'
,用于让用户输入固定格式的文本。
clearable
- 类型:
Boolean
- 默认值:
false
- 描述:是否显示输入框清除按钮。
rules
- 类型:
Object
- 默认值:
{ required: false }
- 描述:自定义校验规则,详见下文。
events
- 类型:
Object
- 默认值:
{ input: 'input', focus: 'focus', blur: 'blur', clear: 'clear' }
- 描述:监听的事件名称,可用于在父组件中监听输入框事件和方法。
校验规则
@axa-ch/input-text 还提供了内置的一些校验规则,比如邮箱('email'
)、网址('url'
)、数字('number'
)等。
除了内置规则外,我们也可以通过传入 rules
属性进行自定义规则校验,比如:
-- -------------------- ---- ------- --------------- -------------- ----------- --------- ---- -- -- -- -- --- ------ - ---- --- -- - -- ------- --- --- -------- -- ---------- - --- - ------ --------- - ------ ----- - -
示例代码
完整的示例代码如下:
-- -------------------- ---- ------- ---------- ----- --------------- -------------- ----------- ---------------------- ------------ -------------- -------------------- -------------------- -------------------- ---------------------- -------------------------- ---------------------- ---------------------- ------------------ ---------------- ------------ ---------------------- -------------- -------------------- -------------------- ------------------ -------------------- -- ------ ----------- -------- ------ ------------ ---- --------------------- ------ ------- - ----------- - ------------ -- ------ - ------ - ----- --- ---------- ---------- ----- --- ------ --------- --------- ------ --------- ------ --------- ------ ---------- ------ ------------ --- ---------- ----- ---------- ----- -------- --- ------- --- ----- --- ---------- ------ ------ - ---- --- -- - -- ------- --- --- -------- -- ---------- - --- - ------ --------- - ------ ----- - - -- -- -------- - -------------- - -------------------- --- -- -------------- - -------------------- --- -- ------------- - ------------------- --- -- -------------- - -------------------- --- - - -- ---------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/115944