4.4.0 • Published 9 months ago

vue-form-craft v4.4.0

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

vue-form-craft

基于 vueelement-plus 实现的表单设计器 + 渲染器

使用了最新的前端技术栈,可以让你免去vue项目中表单的烦恼。

ui

特性

  • 可视化设计表单
  • 支持三十多种的表单组件(el所有表单组件、内置组件)
  • 支持收集Array数据(自增组件)
  • 用法简单,又非常灵活高效的表单联动
  • 可预览生成的json配置
  • 可预览生成的VUE组件
  • 高扩展性、支持自定义组件、支持各种ui组件库来替换ui
  • 支持表单填写校验
  • 组件无限深层嵌套,深层校验

第三方插件

  • vuedraggable
  • element-plus
  • vue-form-craft
  • lodash

使用

版本要求

vue@3.x

安装

npm i vue-form-craft
//或
yarn add vue-form-craft
//或
pnpm i vue-form-craft

全局注册

import { createApp } from 'vue'
import VueFormCraft from 'vue-form-craft'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)

app.use(ElementPlus)
app.use(VueFormCraft)
app.mount('#app')

使用

使用表单设计器

<template>
  <div style="width:100vw;height:100vh">
    <FormDesign />
  </div>
</template>

使用表单渲染器

<template>
  <FormRender v-model="formValues" :schema="schema" ref="formRef" />
  <el-button @click="handleSubmit">提交</el-button>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import type { FormSchema,FormInstance } from 'vue-form-craft'

const formRef = ref<FormInstance>()

const formValues = ref({})

const schema: FormSchema = {
  labelWidth: 150,
  labelAlign: 'right',
  size: 'default',
  items: [
    {
      label: '用户名',
      component: 'Input',
      name: 'username',
      required: true,
      props: {
        placeholder: '请输入用户名'
      }
    },
    {
      label: '密码',
      component: 'Password',
      name: 'password',
      required: true,
      props: {
        placeholder: '请输入密码'
      }
    }
  ]
}

const handleSubmit = async () => {
  await formRef.value?.validate()
  alert(JSON.stringify(formValues.value,null,2))
}
</script>

捐赠 vue-form-craft 的开发

vue-form-craft 的文档和代码完全开源,如果该项目有帮助到你的开发工作,你可以捐赠vue-form-craft的研发工作,捐赠无门槛,哪怕是一杯可乐也好。

4.4.0

9 months ago

4.0.5

11 months ago

4.2.2

10 months ago

4.0.10

11 months ago

4.0.7

11 months ago

4.0.6

11 months ago

4.0.1

11 months ago

4.2.1

10 months ago

4.0.3

11 months ago

4.2.0

10 months ago

4.0.2

11 months ago

4.0.9

11 months ago

4.0.8

11 months ago

4.3.2

10 months ago

4.3.1

10 months ago

4.3.0

10 months ago

3.0.11

1 year ago

3.0.10

1 year ago

3.0.4

1 year ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.8

1 year ago

3.0.7

1 year ago

3.0.6

1 year ago

3.0.9

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.4.2

1 year ago

2.3.1

1 year ago

2.1.2

1 year ago

2.2.5

1 year ago

2.2.6

1 year ago

2.1.1

2 years ago

2.0.31

2 years ago

2.0.32

2 years ago

2.0.30

2 years ago

2.0.28

2 years ago

2.0.29

2 years ago

2.0.26

2 years ago

2.0.27

2 years ago

2.0.24

2 years ago

2.0.25

2 years ago

2.0.22

2 years ago

2.0.23

2 years ago

2.0.21

2 years ago

2.0.20

2 years ago

2.0.16

2 years ago

2.0.19

2 years ago

2.0.17

2 years ago

2.0.18

2 years ago

2.0.15

2 years ago

2.0.13

2 years ago

2.0.14

2 years ago

2.0.12

2 years ago

2.0.11

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.9

2 years ago

2.0.10

2 years ago

2.0.8

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.3

2 years ago

2.1.0

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago