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

10 months ago

4.2.2

9 months ago

4.0.10

10 months ago

4.0.7

10 months ago

4.0.6

10 months ago

4.0.1

10 months ago

4.2.1

9 months ago

4.0.3

10 months ago

4.2.0

9 months ago

4.0.2

10 months ago

4.0.9

10 months ago

4.0.8

10 months ago

4.3.2

9 months ago

4.3.1

9 months ago

4.3.0

9 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

1 year ago

2.0.31

1 year ago

2.0.32

1 year ago

2.0.30

1 year ago

2.0.28

1 year ago

2.0.29

1 year ago

2.0.26

1 year ago

2.0.27

1 year ago

2.0.24

1 year ago

2.0.25

1 year ago

2.0.22

1 year ago

2.0.23

1 year ago

2.0.21

1 year ago

2.0.20

1 year ago

2.0.16

1 year ago

2.0.19

1 year ago

2.0.17

1 year ago

2.0.18

1 year ago

2.0.15

1 year ago

2.0.13

1 year ago

2.0.14

1 year ago

2.0.12

1 year 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