当前位置: 首页 > news >正文

一个简易的低代码

前言

最近接手了一个低代码平台可视化大屏做二次开发,在这里做一些记录。
低代码平台简介:低代码平台是一种开发工具,它可以让开发人员使用简单的拖拽和配置来创建应用程序,而不需要编写大量的代码。低代码平台通常包括一个可视化的界面编辑器,可以让开发人员通过拖拽和配置来创建应用程序的用户界面和业务逻辑。

相关低代码平台
大屏可视化低代码,在线体验 8.3k
amis 可视化编辑器,在线体验 1.9k

拖拽-vuedraggable

理解:低代码通过拖拽组件来快速创建应用程序的用户界面
原生拖拽基本步骤:拖拽开始 dragstart拖拽移动 dragover拖拽结束 dragend
本次demo使用一个支持vue的组件库vuedraggable,快捷的实现拖拽功能
npm i vuedraggable@next

组件物料使用element-plus

npm i element-plus

代码:

// main.ts
import { createApp } from 'vue'
import App from './App.vue'
// 导入组件库
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// 或者 import 'element-plus/lib/theme-chalk/index.css'const app = createApp(App)
app.use(ElementPlus)   // 使用组件库
app.mount('#app')
<script setup lang="ts">
import { ref } from 'vue'
import draggable from 'vuedraggable'// 需要使用ref
const list1 = ref([{id: 1,tag: 'el-button',props: {type: 'primary'},text: '按钮'},{id: 2,tag: 'el-input',props: {placeholder: '请输入内容'}},{id: 3,tag: 'el-switch'}
])// 组件数据列表
const list2 = ref([])
</script><template><el-container class="container"><el-aside class="aside" width="200px"><draggableclass="list"v-model="list1"item-key="id":group="{ name: 'component', pull: 'clone', put: false }":sort="false"><template #item="{ element }"><div class="item">{{ element.tag }}</div></template></draggable></el-aside><el-main class="main"><draggable v-model="list2" item-key="id" class="content" :group="{ name: 'component' }"><template #item="{ element }"><div class="component"><!-- is: 组件名v-bind: 动态 props--><component :is="element.tag" v-bind="element.props">{{ element.text }}</component></div></template></draggable></el-main></el-container>
</template><style scoped lang="scss">
.container {display: flex;
}
.aside {background-color: pink;
}
.main {flex: 1;height: 100vh;background-color: skyblue;.content{background-color: #fff;height: 100%;}
}
.list {.item {border: #0083ee 1px solid;margin: 10px;padding: 10px;}
}
</style>

如果对值进行修改可以参考这个git-demo
https://gitee.com/SongTaoo/lowcode

http://www.lryc.cn/news/197989.html

相关文章:

  • 【JVM系列】- 类加载子系统与加载过程
  • Amazon图片下载器:利用Scrapy库完成图像下载任务
  • Unity中Shader的Pass的复用
  • vue内容自适应方法
  • RustDay05------Exercise[41-50]
  • C语言实现通讯录(超详细)
  • 【Python机器学习】零基础掌握MinCovDet协方差估计
  • 2023年【四川省安全员A证】模拟试题及四川省安全员A证作业模拟考试
  • Flask项目log的集成
  • Open3D(C++) 最小二乘拟合平面(拉格朗日乘子法)
  • c语言练习93:环形链表的约瑟夫问题
  • 从入门到进阶 之 ElasticSearch 文档、分词器 进阶篇
  • 亚马逊云科技多项新功能与服务,助力各种规模的组织拥抱生成式 AI
  • 网站布局都有哪些?
  • 第17章 MQ(一)
  • LeetCode算法刷题(python) Day41|09动态规划|理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • Spring(四)
  • 2023-10-8讯飞大模型部署2024秋招后端一面(附详解)
  • 如何为 Elasticsearch 创建自定义连接器
  • Debian11 安装 OpenJDK8
  • [Machine Learning][Part 6]Cost Function代价函数和梯度正则化
  • 工业自动化编程与数字图像处理技术
  • JY61P.C
  • Go编程:使用 Colly 库下载Reddit网站的图像
  • 高性能日志脱敏组件:已支持 log4j2 和 logback 插件
  • 一文读懂PostgreSQL中的索引
  • windows的批量解锁
  • Nginx配置微服务避免actuator暴露
  • GEE——在GEE中计算地形位置指数TPI
  • 树的基本操作(数据结构)