Skip to content

ProField 高级表单项 ​

ProField 是一个通用的表单项组件,可以视作 FormItem 和 表单 Field 组件的组合,可以根据 fieldType 渲染不同的表单控件。

基础用法 ​

通过设置 fieldType 和 fieldProps 来使用不同类型的表单控件。

基础用法
显示代码

组件属性 ​

属性名说明类型默认值
value组件的值any-
field-type控件类型FieldType | Component'text'
field-props传递给具体控件的属性Record<string, any>{}
mode编辑/只读模式'read' | 'edit''edit'
with-form-item是否包裹 FormItembooleantrue
...所有 ElFormItem 的 propsany-

FieldType 类型 ​

类型值说明对应组件
text文本输入框ElInput
password密码输入框ElInput
textarea多行文本框ElInput
date日期选择器ElDatePicker
dateTime日期时间选择器ElDatePicker
dateRange日期范围选择器ElDatePicker
dateTimeRange日期时间范围选择器ElDatePicker
select下拉选择框ElSelect
switch开关ElSwitch
rate评分ElRate
radio单选框ElRadio
checkbox复选框ElCheckbox
color颜色选择器ElColorPicker

事件 ​

事件名说明回调参数
change值变化时触发(value: any) => void
update:value值更新时触发(value: any) => void

示例 ​

基础表单项 ​

vue
vue
<template>
  <ProField
    label="标题"
    prop="text"
    v-model:value="textValue"
    field-type="text"
    :field-props="{ placeholder: '请输入文本' }"
  />
</template>

日期选择器 ​

vue
<template>
  <ProField
    label="日期"
    prop="text"
    v-model:value="dateValue"
    field-type="date"
    :field-props="{ placeholder: '请选择日期' }"
  />
</template>

下拉选择框 ​

vue
<template>
  <ProField
    v-model:value="selectValue"
    field-type="select"
    :field-props="{
      placeholder: '请选择',
      options: [
        { label: '选项1', value: 1 },
        { label: '选项2', value: 2 },
      ],
    }"
  />
</template>

传入Field ​

vue
<template>
  <ProField
    v-model:value="selectValue"
    :field-type="ElSelect"
    :field-props="{
      placeholder: '请选择',
      options: [
        { label: '选项1', value: 1 },
        { label: '选项2', value: 2 },
      ],
    }"
  />
</template>