This action will force synchronization from kchengz/epic-designer, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
📦github仓库:https://github.com/Kchengz/epic-designer
📦gitee仓库:https://gitee.com/kcz66/epic-designer
📖文档地址:https://kcz66.gitee.io/epic-designer/
💎项目预览地址:
可以简称K设计器
,是一个功能强大、开箱即用的拖拽式低代码设计器。它基于 Vue3 开发,兼容多套 UI 组件库,除了基础的页面设计功能,EpicDesigner 还提供了强大的扩展功能,可以让开发者根据自己的需求自由扩展和定制组件。此外,EpicDesigner使用 JSON 配置来生成页面,可帮助开发者快速生成页面,提高开发效率。它提供了两个重要组件:e-designer
设计器和 e-builder
生成器。
目前还处于 Alpha 阶段,所有的 API 及 Props 都可能在后续迭代中发生变化
同时因为需要维护多套UI组件,也会增加兼容性和测试工作,且作者需要保证不影响到工作,所以开发进度会相对慢一点,但是会尽量利用业余时间更新功能,同时也欢迎各位大佬提供建议和pr
e-designer
是一个可视化设计器组件,用户可以通过拖拽组件的方式快速生成 JSON 配置。它提供了丰富的组件库和配置项,用户可以根据需要选择合适的组件并配置相应的属性、事件和动作。设计器还提供了实时预览功能,用户可以随时查看所设计页面的效果。最终,用户可以将 JSON 配置导出,用于页面的生成和修改。
e-builder
是一个页面构建组件,它可以将设计器生成的 JSON 配置构建成页面,完成组件的渲染、事件绑定和数据回显等操作。
npm i epic-designer
epic-designer 目标是支持多 UI 兼容,目前支持以下 UI
npm i element-plus
main.ts 或者 main.js 引入注册组件
// 引入Element plus样式
import "element-plus/dist/index.css";
// 引入k-designer样式
import "epic-designer/dist/style.css";
import { pluginManager, setupElementPlus } from "epic-designer";
// 注册Element UI
setupElementPlus(pluginManager);
npm i ant-design-vue
main.ts 或者 main.js 引入注册组件
// 引入antd UI样式
import "ant-design-vue/dist/antd.css";
// 引入k-designer样式
import "epic-designer/dist/style.css";
import { pluginManager, setupAntd } from "epic-designer";
import { } from "epic-designer";
// 使用Antd UI
setupAntd(pluginManager);
main.ts 或者 main.js 引入注册组件
// 引入k-designer样式
import "epic-designer/dist/style.css";
import { pluginManager, setupNaiveUi } from "epic-designer";
// 注册Naive Ui
setupNaiveUi(pluginManager);
<template>
<div class="h-full">
<EDesigner />
</div>
</template>
<script setup lang="ts">
import { EDesigner } from "epic-designer";
</script>
<style>
.h-full {
height: 100vh;
}
</style>
<template>
<div>
<EBuilder :pageSchema="pageSchema" />
</div>
</template>
<script setup>
import { EBuilder } from "epic-designer";
const pageSchema = {
schemas: [
{
type: "page",
id: "root",
children: [
{
label: "输入框",
type: "input",
field: "input",
icon: "icon-write",
input: true,
componentProps: {
defaultValue: "",
placeholder: "请输入",
size: "default",
type: "text",
},
id: "gbm1xhrrj5s00",
},
],
componentProps: {
style: {
padding: "16px",
},
},
},
],
};
</script>
点击链接加入 qq 群聊
如果你觉得epic-designer对你有帮助,欢迎给我捐赠
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。