docs_vue2/one/docs/components/field.md

4.1 KiB
Raw Blame History

Field 表单项

:::tip Field 组件需要配合 FormFieldset 组件使用。一个 Field 对应一个输入组件。 :::

示例

Form 示例

API

属性

名称 类型 默认值 描述
ui string= - [^ui]
readonly boolean= false 内部输入组件是否为只读状态。
disabled boolean= false 内部输入组件是否为禁用状态。
label string - 表单项描述。
tip string - 表单项提示。
name string - 表单项名称,可用于指定数据字段名或展示错误消息的定位。
field string - [^field]
rules `string Array -

^^^ui 预设样式。

+++枚举值

描述
xs 超小尺寸样式。
s 小尺寸样式。
m 中尺寸样式。
l 大尺寸样式。
+++
^^^

^^^message 出错信息,可以覆盖规则默认出错信息。

若类型为 string,可以通过 {ruleValue} 引用 ruleValue{value} 引用 value。例如:

let minLengthRule = {
  validate (value, ruleValue) {
    return !isEmpty(value) ? val.length >= ruleValue : true
  },
  message: '字符长度不能短于 {ruleValue},当前长度 {value}',
  priority: 100
}

若类型为 function,参数为 (ruleValue: ?*=, value: *)。例如:

let minLengthRule = {
  validate (value, ruleValue) {
    return !isEmpty(value) ? val.length >= ruleValue : true
  },
  message (ruleValue, value) {
    return `字符长度不能短于${ruleValue},当前长度${value}`
  },
  priority: 100
}

:::tip 如果需要支持多语言,message 必须使用 function 类型。 ::: ^^^

^^^rules 表单项校验规则,同步的单值校验。对于 Array 类型,项目的类型为 {triggers, name, message, value, priority}

+++字段详情

名称 类型 描述
triggers string 触发校验的事件名称集合,逗号分隔。
name string 规则名称。
value * 规则要匹配的值。boolean 类型的规则,默认为 true
message `string function`
priority number 规则优先级,可以覆盖规则默认优先级。
+++

+++内置规则

名称 类型 描述
required boolean 值不能为空值(null / undefined / '' / [])。
numeric boolean 值必须可描述十进制数值。(6 / 66.6 / 6e6 / '6' / .6)
pattern `RegExp string`
maxLength number 值的 length 属性不能大于限定值。
minLength number 值的 length 属性不能小于限定值。
max number 值不能大于限定值。
min number 值不能小于限定值。
+++

:::warning 对于 string 类型,格式为 rule1,rule2,...,仅支持 value 类型为 boolean 的规则。

优先级会影响最后展示的出错信息,出错信息栈内会保留所有规则的错误提示,但仅展现优先级最高的那一个。

自定义 rule 请参考高级 自定义校验规则。 ::: ^^^

^^^field 非必须,默认取 name 属性值。在特殊情况下,用于指定表单 data 属性对应字段的路径。

+++格式示例

描述
username 对应表单 data 属性引用值的 username 属性,等价于 data.username
users[0] 等价于 data.users[0]
user.username 等价于 data.user.username
+++
^^^

插槽

名称 描述
default 用于内联输入组件。无默认内容。
label 填充表单项描述的内容。默认为 label 属性的文本值。
tip 填充表单项提示的内容。默认为 tip 属性的文本值。

图标

名称 描述
alert 警示图标。