Skip to content

表单 Form

配置生成表单 当前所展示 label 信息 为表单 type 类型

基础使用

</>

搜索

</>

响应式

</>

自定义提交按钮组

</>

自定义表单组件

</>

formRef 使用

</>

逻辑处理

</>

数据回显

</>

属性

如需查看 Form 属性,请参考:arco-design

属性说明类型默认值
config表单基础配置Object{}
list组件的配置Array[]

config 属性

属性说明类型可选值默认值
layout表单布局Stringhorizontalhorizontal
labelAlign标签的对齐方向Stringleft, rightright
size组件大小Stringmini, small, medium, largemedium
submitText自定义提交按钮文本String-提交
resetText自定义重置按钮文本String-重置
btnPosition底部按钮位置Stringstart, center, endstart
isHiddenButton是否隐藏底部按钮Booleantrue, falsefalse
其他参考 <form> Props--

list[item] 属性

属性说明类型可选值默认值
type组件类型StringInput, InputNumber, InputPassword, Textarea, Select, Cascader, Checkbox, Radio,DatePicker, TimePicker, RangePicker, YearPicker, MonthPicker,QuarterPicker, WeekPicker, TreeSelect, Tree, Slider, Rate, Upload-
model唯一keyStringany-
label标签Stringany-
tooltip提示String--
noStyle是否去除样式Booleantrue, falsefalse
hidden隐藏Booleantrue, falsefalse
hideLabel是否隐藏标签Booleantrue, falsefalse
col栅格布局Object参考 <col> Props{span: 24}
options组件属性Object参考 对应组件属性<component> Props-
tooltip提示String--

form slots

插槽名描述参数
submit自定义底部提交按钮-

list[item]slots

插槽名描述参数
[model]自定义表单组件-

JSON Schema

{
  config: {
    layout: 'horizontal',
    labelAlign: 'right',
    size: 'medium',
    autoLabelWidth: true,
    disabled: false
  },
  list: [
    {
      type: 'Input',
      model: 'name',
      label: 'Input',
      col: { span: 8 },
      // extra: '这是额外信息',
      // help: '这是帮助信息',
      options: {
        value: '鹏歌1',
        placeholder: '请输入',
        allowClear: true,
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'InputNumber',
      model: 'age',
      label: 'InputNumber',
      col: { span: 8 },
      options: {
        value: 18,
        placeholder: '请输入',
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'Select',
      model: 'select',
      label: 'Select',
      col: { span: 8 },
      options: {
        value: '',
        placeholder: '请选择',
        options: [
          {
            value: 'bj',
            label: 'Beijing'
          },
          {
            value: 'sh',
            label: 'Shanghai'
          },
          {
            value: 'gz',
            label: 'Guangzhou'
          },
          {
            value: 'cd',
            label: 'Chengdu'
          }
        ],
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'Cascader',
      model: 'cascader',
      label: 'Cascader',
      col: { span: 8 },
      options: {
        value: '',
        placeholder: '请选择',
        options: [
          {
            value: 'beijing',
            label: 'Beijing',
            children: [
              {
                value: 'chaoyang',
                label: 'ChaoYang',
                children: [
                  {
                    value: 'datunli',
                    label: 'Datunli'
                  }
                ]
              },
              {
                value: 'haidian',
                label: 'Haidian'
              },
              {
                value: 'dongcheng',
                label: 'Dongcheng'
              },
              {
                value: 'xicheng',
                label: 'Xicheng',
                children: [
                  {
                    value: 'jinrongjie',
                    label: 'Jinrongjie'
                  },
                  {
                    value: 'tianqiao',
                    label: 'Tianqiao'
                  }
                ]
              }
            ]
          },
          {
            value: 'shanghai',
            label: 'Shanghai',
            children: [
              {
                value: 'huangpu',
                label: 'Huangpu'
              }
            ]
          }
        ],
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'Checkbox',
      model: 'checkbox',
      label: 'Checkbox',
      col: { span: 8 },
      options: {
        value: [],
        placeholder: '请选择',
        options: [
          {
            value: 'Music',
            label: '音乐🎵'
          },
          {
            value: 'billiards',
            label: '台球🎱'
          },
          {
            value: 'video',
            label: '电影🎬'
          },
          {
            value: 'games',
            label: '游戏'
          }
        ],
        rules: [
          {
            type: 'array',
            minLength: 2,
            message: '必须选择两项'
          }
        ]
      }
    },
    {
      type: 'DatePicker',
      model: 'datepicker',
      label: 'DatePicker',
      col: { span: 8 },
      options: {
        value: '',
        placeholder: '请选择日期',
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'TimePicker',
      model: 'timepicker',
      label: 'TimePicker',
      col: { span: 8 },
      options: {
        value: '',
        placeholder: '请选择时间',
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'RangePicker',
      model: 'rangepicker',
      label: 'RangePicker',
      col: { span: 8 },
      options: {
        value: [],
        rules: {
          trigger: 'blur',
          message: '必填',
          required: true
        }
      }
    },
    {
      type: 'YearPicker',
      model: 'yearpicker',
      label: 'YearPicker',
      col: { span: 8 },
      options: {
        value: ''
      }
    },
    {
      type: 'QuarterPicker',
      model: 'Quarterpicker',
      label: 'QuarterPicker',
      col: { span: 8 },
      options: {
        value: ''
      }
    },
    {
      type: 'MonthPicker',
      model: 'monthpicker',
      label: 'MonthPicker',
      col: { span: 8 },
      options: {
        value: ''
      }
    },
    {
      type: 'WeekPicker',
      model: 'weekpicker',
      label: 'WeekPicker',
      col: { span: 8 },
      options: {
        value: ''
      }
    },
    {
      type: 'Radio',
      model: 'radio',
      label: 'Radio',
      col: { span: 8 },
      options: {
        value: '',
        options: [
          {
            value: 'radio one',
            label: 'Radio One'
          },
          {
            value: 'radio two',
            label: 'Radio Two'
          }
        ],
        rules: [{ match: /one/, message: 'must select one' }]
      }
    },
    {
      type: 'TreeSelect',
      model: 'treeSelect',
      label: 'TreeSelect',
      col: { span: 8 },
      options: {
        value: '',
        placeholder: '请选择',
        options: [
          {
            key: 'node1',
            title: 'Node1',
            children: [
              {
                key: 'node2',
                title: 'Node2'
              }
            ]
          },
          {
            key: 'node3',
            title: 'Node3',
            children: [
              {
                key: 'node4',
                title: 'Node4'
              },
              {
                key: 'node5',
                title: 'Node5'
              }
            ]
          }
        ]
      }
    },
    {
      type: 'Switch',
      model: 'switch',
      label: 'Switch',
      col: { span: 8 },
      options: {
        value: false,
        rules: {
          required: true
        }
      }
    },
    {
      type: 'Slider',
      model: 'slider',
      label: 'Slider',
      col: { span: 8 },
      options: {
        value: 10
      }
    },
    {
      type: 'Rate',
      model: 'rate',
      label: 'Rate',
      col: { span: 8 },
      options: {
        value: 2,
        count: 5
      }
    },
    {
      type: 'Upload',
      model: 'upload',
      label: 'Upload',
      col: { span: 8 },
      options: {
        value: []
      }
    }
  ]
}

fzui-design