vue2低代码平台搭建(二)揭秘页面设计器

本文详细介绍了如何使用 Vue2 构建低代码平台的页面设计器,包括组件列表、拖动功能(借助 vuedraggable 插件)、嵌套组件、属性配置区域和操作栏区域的实现。通过元数据描述组件,利用 vuedraggable 实现组件拖放,支持顺序排列布局。同时,讨论了组件的保存、预览及其他功能的实现细节。
摘要由CSDN通过智能技术生成

前言

大家好,我是L丶Y。我们走进了低代码的世界,这一章节我们要开始干货内容了,来探索一下低代码开发的核心 —— 页面设计器

我们知道,低代码开发平台都是通过拖拉拽可视化的页面设计器进行页面开发的,在这一章节,我们来探索一下页面设计器的实现方式。下图中,我们截取了几款优秀的低代码产品的页面设计器界面。

可以看到,大多数的页面设计器都包含了如下所示的几个区域:

  • 最上方是操作栏,我们可进行页面的保存、预览、查看json信息、查看代码等操作;
  • 左侧是组件列表,当然也可以添加一些切换,让我们的左侧区域支持查看页面树信息、配置数据源等其他操作;
  • 中间是画布区域,我们可以将左侧的组件拖动到画布中,当然也支持画布中组件的赋值、删除等操作;
  • 右侧是属性配置区域,当我们在画布中选中某个组件时,可以在右侧的属性配置区域罗列出当前组件可支持动态配置的属性,修改了属性后可以在画布中看到对应组件的样式变化。

 图片截取自宜搭,仅用于区域展示,与本篇内容无关

下面,我们按上述的区域划分来看一下页面设计器区域都是如何实现的。

组件列表

首先,我们来看一下左侧的组件列表,列表中的每个组件,我们都需要使用一段json来进行描述,这段json我们将它称之为 元数据,元数据中描述了当前组件的中文名称,在列表中显示的图标及描述,和组件可进行配置的一些动态属性。我们以输入框组件为例,它的元数据大致可以定义为如下的样子:

{
	code: "MyInput",
	name: "输入框",
	desc: "输入框的描述",
	icon: "input",
	props: {
		name: "字段名称",
		label: "label名称",
		labelCol: "",
		wrapperCol: "",
		required: false,
	}
}
复制代码

那么左侧的组件列表实际上就是这样的一个元数据对象组成的数组遍历而来的。

拖动

再来看一下将左侧组件列表的组件拖动到画布是如何实现的。拖动又分为顺序排列布局的拖动及自由布局拖动。顺序排列布局的拖动是指拖动到画布中的组件是自上而下顺序排列的,可以通过拖动调整上下顺序,当然我们也可以增加分栏这样的布局类型组件,实现组件的左右排列;自由布局拖动是指拖动到画布中的组件位置是自由的,我们松开鼠标的位置,就是这个组件在画布中的位置。考虑到我们主要服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值