Skip to content

form-cook-render API

Attributes

属性名说明类型默认值
v-model表单数据对象Record<string, any>
v-model:form-schema动态表单渲染协议FormSchema
vue
<script lang="ts" setup>
import { ref } from "vue";
import type { FormSchema } from "form-cook-render";
const formData = ref({});
const formSchema: FormSchema = {};
</script>

<template>
  <form-cook-render v-model="formData" v-model:form-schema="formSchema" />
</template>

Events

名称说明类型默认值
submit表单提交时触发,返回 formData(formData: FormData)=>void
reset表单重置时触发()=>void
vue
<script lang="ts" setup>
import { ref } from "vue";
import type { FormSchema } from "form-cook-render";
const formData = ref({});
const formSchema: FormSchema = {};
</script>

<template>
  <form-cook-render
    v-model="formData"
    v-model:form-schema="formSchema"
    @submit="(data) => console.log('提交数据:', data)"
    @reset="console.log('表单已重置')"
  />
</template>

Slots

插槽名说明子标签
default自定义默认内容(formData: FormData)=>void
vue
<script lang="ts" setup>
import { ref } from "vue";
import type { FormSchema } from "form-cook-render";
const formData = ref({});
const formSchema: FormSchema = {};
</script>
<template>
  <form-cook-render
    v-model="formData"
    v-model:form-schema="formSchema"
    @submit="(data) => console.log('提交数据:', data)"
    @reset="console.log('表单已重置')"
  >
  <div>自定义插槽内容</div>
  </form-cook-render>
</template>

Exposes

名称说明类型
validate对整个表单的内容进行验证Promise<boolean>或者 Promise<undefined>
submit表单提交Promise<Record<string, unknown>>
resetFields表单重置() => void

用法:

vue
<script lang="ts" setup>
import { ref } from "vue";
import type { FormSchema } from "form-cook-render";
const formRef = ref<FormCookRenderExpose>();
const formSchema: FormSchema = {};

await formRef.value?.validate();
await formRef.value?.submit();
formRef.value?.resetFields();

</script>
<template>
  <form-cook-render
    ref="formRef"
    v-model="formData"
    v-model:form-schema="formSchema"
  />
</template>

Released under the MIT License.