Submit 
提交按钮
普通提交 
*
:vue
<template>
  <FormProvider :form="form">
    <SchemaField>
      <SchemaStringField
        required
        name="input1"
        title="输入框"
        x-decorator="FormItem"
        x-component="Input"
      />
      <SchemaStringField
        required
        title="输入框"
        name="input2"
        x-decorator="FormItem"
        x-component="Input"
      />
    </SchemaField>
    <FormButtonGroup align-form-item>
      <Submit :on-submit="log">提交</Submit>
    </FormButtonGroup>
  </FormProvider>
</template>
<script>
import { createForm } from '@formily/core'
import { FormProvider, createSchemaField } from '@formily/vue'
import { Formily } from 'element-plus-x'
const { Submit, FormButtonGroup, FormItem, Input } = Formily
const fields = createSchemaField({ components: { FormItem, Input } })
export default {
  components: {
    FormProvider,
    Submit,
    FormButtonGroup,
    ...fields,
  },
  data() {
    const form = createForm()
    return {
      form,
    }
  },
  methods: {
    log(v) {
      console.log(v)
    },
  },
}
</script>
隐藏源代码
防重提交 
*
:vue
<template>
  <FormProvider :form="form">
    <SchemaField>
      <SchemaStringField
        required
        name="input1"
        title="输入框"
        x-decorator="FormItem"
        x-component="Input"
      />
      <SchemaStringField
        required
        title="输入框"
        name="input2"
        x-decorator="FormItem"
        x-component="Input"
      />
    </SchemaField>
    <FormButtonGroup align-form-item>
      <Submit @submit="handleSubmit">提交</Submit>
    </FormButtonGroup>
  </FormProvider>
</template>
<script>
import { createForm } from '@formily/core'
import { FormProvider, createSchemaField } from '@formily/vue'
import { Formily } from 'element-plus-x'
const { Submit, FormButtonGroup, FormItem, Input } = Formily
const fields = createSchemaField({ components: { FormItem, Input } })
export default {
  components: {
    FormProvider,
    Submit,
    FormButtonGroup,
    ...fields,
  },
  data() {
    const form = createForm()
    return {
      form,
    }
  },
  methods: {
    handleSubmit(values) {
      return new Promise((resolve) => {
        setTimeout(() => {
          console.log(values)
          resolve()
        }, 2000)
      })
    },
  },
}
</script>
隐藏源代码
API 
按钮相关的 API 属性,我们参考 ElButton 即可,剩下是 Submit 组件独有的 API 属性
| 属性名 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
| onClick | (event: MouseEvent) => void | boolean | 点击事件,如果返回 false 可以阻塞提交 | - | 
| onSubmit | (values: any) => Promise<any> | any | 提交事件回调 | - | 
| onSubmitSuccess | (payload: any) => void | 提交成功响应事件 | - | 
| onSubmitFailed | (feedbacks: IFormFeedback[]) => void | 提交校验失败事件回调 | - |