Skip to content

表单配置

本文将介绍如何设置表单配置中的UI相关配置,并详细说明各个配置项的作用。

表单全局配置

设置表单配置

以下是设置表单配置的方法:

  • 组件模式

在模板中设置表单配置:

html
<form-create-mobile :option="option"></form-create-mobile>
  • 全局方法

你还可以通过全局方法创建表单并设置表单配置:

js
window.formCreateMobile.create(rule, option)

构成

全局配置中额外支持一下配置项

  • form:表单整体显示规则配置
  • row:表单组件布局配置
  • submitBtn:提交按钮样式配置
  • resetBtn:重置按钮样式配置
  • wrap: 配置Field

配置表单(form)

  • 类型Object

  • 说明:配置表单的整体显示规则,比如标签对齐方式和输入框对齐方式。

  • 默认值:

js
  {
      required: 'auto',
      labelAlign: 'right',
      inputAlign: 'right'
   }

配置示例

基础配置

js
const option = {
    form: {
        labelAlign: 'right',  // 标签对齐: 'left' | 'center' | 'right'
        inputAlign: 'right'   // 输入框对齐: 'left' | 'center' | 'right'
    }
}

标签左对齐

js
const option = {
    form: {
        labelAlign: 'left',   // 标签左对齐
        inputAlign: 'left'    // 输入框左对齐
    }
}

标签居中

js
const option = {
    form: {
        labelAlign: 'center',  // 标签居中
        inputAlign: 'center'   // 输入框居中
    }
}

设置必填标记显示方式

js
const option = {
    form: {
        required: 'auto'  // 可选值: 'auto' | 'always' | 'never'
    }
}

配置布局(row)

  • 类型Object

  • 说明:配置表单组件的布局,比如组件之间的间距。

  • 默认值:

js
  {
      gutter: 0,
  }

配置示例

设置栅格间隔

js
const option = {
    row: {
        gutter: 8  // 设置栅格间隔为8px(移动端建议使用较小值)
    }
}

配置提交按钮(submitBtn)

  • 类型Object

  • 说明:配置提交按钮的样式和布局。

  • 默认值:

js
  {
      type: 'primary',
      loading: false,
      disabled: false,
      block: true,
      innerText: '提交',
      size: 'small',
      show: true,
  }

如果不需要显示提交按钮,可以将 submitBtn 设置为 falsesubmitBtn.show 设置为 false

配置示例

基础配置

js
const option = {
    submitBtn: {
        innerText: '提交',
        type: 'primary',
        block: true,  // 块级按钮,占满整行
        show: true
    }
}

自定义按钮文字和样式

js
const option = {
    submitBtn: {
        innerText: '保存',
        type: 'primary',
        size: 'normal',  // 可选值: 'large' | 'normal' | 'small' | 'mini'
        block: true
    }
}

隐藏提交按钮

js
const option = {
    submitBtn: false  // 或 submitBtn: { show: false }
}

自定义提交事件

js
const option = {
    submitBtn: {
        innerText: '提交',
        click: (formData, fApi) => {
            console.log('提交数据:', formData)
            // 自定义提交逻辑
            return false  // 返回 false 阻止默认提交
        }
    }
}

配置重置按钮(resetBtn)

  • 类型Object

  • 说明:配置重置按钮的样式和布局。

  • 默认值:

js
  {
      type: 'default',
      loading: false,
      disabled: false,
      block: true,
      innerText: '重置',
      size: 'small',
      show: false,
  }

如果需要显示重置按钮,可以将 resetBtn 设置为 trueresetBtn.show 设置为 true

配置示例

显示重置按钮

js
const option = {
    resetBtn: {
        show: true,
        innerText: '重置',
        type: 'default',
        block: true
    }
}

自定义重置按钮样式

js
const option = {
    resetBtn: {
        show: true,
        innerText: '清空',
        type: 'default',
        size: 'normal',
        block: true
    }
}

自定义重置事件

js
const option = {
    resetBtn: {
        show: true,
        innerText: '重置',
        click: (fApi) => {
            console.log('重置表单')
            // 自定义重置逻辑
            fApi.resetFields()  // 重置表单字段
        }
    }
}

配置 FormItem(wrap)

  • 类型Object

  • 说明:配置 Field 组件的显示规则,例如字段的样式和布局。

  • 完整配置项: Field_props

配置示例

全局设置标签宽度

js
const option = {
    wrap: {
        labelWidth: '80px'  // 移动端建议使用较小的标签宽度
    }
}

全局设置输入框对齐方式

js
const option = {
    wrap: {
        inputAlign: 'left'  // 输入框左对齐
    }
}

完整配置示例

js
const option = {
    // 表单整体配置
    form: {
        labelAlign: 'right',
        inputAlign: 'right',
        required: 'auto'
    },


// 栅格布局配置
    row: {
        gutter: 8
    },


// 提交按钮配置
    submitBtn: {
        innerText: '提交',
        type: 'primary',
        block: true,
        size: 'normal',
        show: true
    },


// 重置按钮配置
    resetBtn: {
        show: true,
        innerText: '重置',
        type: 'default',
        block: true,
        size: 'normal'
    },


// Field 配置
    wrap: {
        labelWidth: '80px'
    }
}

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用