Skip to content

可视化表单设计器

试试在线表单设计器 😄

安装依赖

设计器需使用到NaiveUI 渲染器

sh
$ npm i @grid-form/designer @grid-form/render-naive
sh
$ pnpm add @grid-form/designer @grid-form/render-naive
sh
$ yarn add @grid-form/designer @grid-form/render-naive

注意

设计器需要 naive-ui 库,并要求全局导入组件:

js
import naive from 'naive-ui'
app.use(naive)

创建设计器

js
<template>
    <Designer :renders="RenderFuncs" :components="Components" :context-menu="true" @save="onSave" :form="form" 
        style="height: 100vh;" debug show-footer />
</template>

<script setup>
    import { reactive } from 'vue'
    import { Designer, Components } from "@grid-form/designer"
    import { RenderFuncs } from "@grid-form/render-naive"
    import { createForm } from "@grid-form/common"

    // 如需扩展 RenderFuncs、Components ,请自行扩写
    let form = reactive{createForm()}

    const onSave = data=> console.debug("表单信息", data)
</script>

设计器

PROPS

名称类型默认值说明
componentsArray[]可操作的组件合集
rendersObject{}组件渲染函数(来自 @grid-form/render-naive
siderWidthNumber,String360左右侧边栏的宽度,支持 px、% 单位,建议直接传递数值
gridGapNumber10可视化区域栅栏间隔,单位 px
reviewBooleanfalse是否对表单项做校验(如id、名称不能为空,不允许重复 id),校验不通过则抛出异常
formObjectundefined表单对象
compactBooleanfalse紧凑的布局,如果设置为true,则左右两侧的属性编辑行距缩短
headerHeightNumber55设计器头部高度
showFooterBooleanfalse是否显示设计器底部
footerHeightNumber50设计器底部高度,单位 px
contextMenuBooleanfalse是否启用右键菜单(方便操控表单项)0.0.6
enableCtrlSBooleanfalse是否启用 CTRL+S 保存快捷键 0.0.8
debugBooleanfalse开启debug 模式后,会在控制台输入各种信息

SLOTS

名称参数说明
title()左上角标题
footer()设计器底部横幅