vue实现拖拉拽效果,类似于禅道首页可拖拽排布展示内容(插件-Grid Layout)

vue实现拖拉拽效果(插件-Grid Layout)

这个是类似与禅道那种首页有多个指标模块,允许用户自己拼装内容的那种感觉。

实现效果

在这里插入图片描述

插件资料

vue3版本

如果项目是vue3 的话使用的是 Grid Layout Plus

官网:https://grid-layout-plus.netlify.app/zh/

文档:https://grid-layout-plus.netlify.app/zh/guide/installation.html

在这里插入图片描述

vue2版本

如果项目是vue2版本的话,可以使用 Vue Grid Layout

官网:https://jbaysolutions.github.io/vue-grid-layout/zh/

文档:https://jbaysolutions.github.io/vue-grid-layout/zh/guide/

在这里插入图片描述

vue3项目使用Grid Layout

使用的话也比较简单,现在以vue3使用为例介绍。

安装插件

安装的话只需要一行命令就可以执行:

npm i grid-layout-plusoryarn add grid-layout-plus

导入插件

导入的话直接在需要的页面导入就可以了:

import {GridLayout, GridItem} from 'grid-layout-plus';

当然,也可以挂在到全局上面:

app.component('GridLayout', GridLayout).component('GridItem', GridItem)

开发

引入之后就可以直接用了,这里可以根据官网文档进行开发,下面给一个小的案例:

<template><div class="ed-page"><GridLayout v-model:layout="layout" :col-num="24" :restore-on-drag="true" :vertical-compact="true" :row-height="50"><GridItem v-for="item in layout":key="item.i":x="item.x":y="item.y":w="item.w":h="item.h":i="item.i":is-resizable="item.isResizable"><p class="text">{{ item.i }}</p><p class="text">{{ item.title }}</p><p class="text">{{ item.url }}</p></GridItem></GridLayout></div>
</template>
<script setup>
import {GridLayout, GridItem} from 'grid-layout-plus';
import {ref} from "vue";const layout = ref([{x: 0,y: 0,w: 12,h: 5,i: '0',static: false,isResizable: false,url: "https://grid-layout-plus.netlify.app/zh/",title: "grid-layout-plus"},{x: 12, y: 0, w: 12, h: 5, i: '2', static: false},
]);</script>
<style scoped lang="scss">
.ed-page {height: 100%;overflow-y: auto;overflow-x: hidden;
}.vgl-layout {//background-color: #eee;
}.vgl-layout::before {position: absolute;width: calc(100% - 5px);height: calc(100% - 5px);margin: 5px;content: '';background-image: linear-gradient(to right, #E9E9EB 1px, transparent 1px),linear-gradient(to bottom, #E9E9EB 1px, transparent 1px);background-repeat: repeat;background-size: calc(calc(100% - 5px) / 24) 60px;
}:deep(.vgl-item:not(.vgl-item--placeholder)) {background-color: #FFF;border: 1px solid #909399;
}:deep(.vgl-item--resizing) {opacity: 90%;
}:deep(.vgl-item--static) {background-color: #cce;
}
</style>

看一下效果:

在这里插入图片描述

gif 动图可能有点卡顿,但是实际效果还是不错的,希望有用!拜拜!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94613.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Excel和WPS表格中打印时加上行号和列标

在电脑中查看excel和WPS表格的工作表时&#xff0c;能看到行号&#xff08;12345.....&#xff09;和列标&#xff08;ABCDE...&#xff09;&#xff0c;但是打印出来以后默认是没有行号和列标的&#xff0c;如果要让打印&#xff08;或者转为PDF&#xff09;出来以后仍能看到行…

设计模式:原型模式(Prototype Pattern)

文章目录一、原型模式的概念二、原型模式的结构三、原型注册机制四、完整示例代码一、原型模式的概念 原型模式是一种创建型设计模式&#xff0c; 使你能够复制已有对象&#xff0c; 而又无需使代码依赖它们所属的类。通过复制&#xff08;克隆&#xff09;已有的实例来创建新的…

Linux系统网络管理

一、网络参数配置1、图形化配置#开启 [rootlocalhost ~]# systemctl start NetworkManager #关闭 [rootlocalhost ~]# systemctl stop NetworkManager #关闭并开机不自启 [rootlocalhost ~]# systemctl disable --now NetworkManager #开启并开机自启 [rootlocalhost ~]# syste…

服务器初始化

服务器初始化文章目录服务器初始化1. 配置国内 Yum 源&#xff08;加速软件安装&#xff09;2. 更新系统与安装必备工具3. 网络连接验证4. 配置主机名5. 同步时间6. 配置防火墙 (两种方式)6.1 iptables整体思路详细步骤第 1 步&#xff1a;停止并禁用 Firewalld第 2 步&#xf…

基于YOLOv11训练无人机视角Visdrone2019数据集

【闲鱼服务】 基于YOLOv11训练无人机视角Visdrone2019数据集Visdrone2019数据集介绍数据集格式数据预处理yolov11模型训练数据分布情况可视化训练结果Visdrone2019数据集介绍 VisDrone 数据集 是由中国天津大学机器学习和数据挖掘实验室 AISKYEYE 团队创建的大规模基准。它包含…

基于Springboot 的智能化社区物业管理平台的设计与实现(代码+数据库+LW)

摘 要随着智慧社区的普及&#xff0c;传统的物业管理方式已经无法满足现代社区的需求。目前&#xff0c;很多社区管理中存在信息不畅通、工作效率低以及居民服务体验不佳等问题。为了解决这些问题&#xff0c;我们基于SpringBoot框架开发了一套智能化社区物业管理平台&#xf…

【深度学习新浪潮】SAM 2实战:Meta新一代视频分割模型的实时应用与Python实现

引言:从图像到视频的分割革命 上周AI领域最引人注目的计算机视觉进展,当属Meta在SAM(Segment Anything Model)基础上推出的SAM 2模型持续引发的技术热潮。尽管SAM 2最初发布于2024年,但最新更新的2.1版本(2024年9月发布)凭借其突破性的实时视频分割能力,在自动驾驶、影…

sqli-labs靶场安装与使用指导教程(3种方法:通用版、php7版、Docker版)

目录 一、SQLI-LABS靶场 1、核心特点 2、关卡难度 二、源码安装法 1、开启Web服务和数据库服务 2、靶场源码下载 &#xff08;1&#xff09;通用版本 &#xff08;2&#xff09;PHP7版本 3、部署sqli-labs靶场 &#xff08;1&#xff09;确认网站根目录位置 &#x…

从零开始配置前端环境及必要软件安装

从零开始配置前端环境及必要软件安装一、安装编辑器二、安装浏览器三、安装Git版本控制工具四、Node.js 和 npm 环境变量配置1. 安装 Node.js 和 npm2. 配置全局模块和缓存目录3. 设置环境变量4. 更换 npm 镜像源5. 测试配置五、hosts文件六、辅助应用markdown&#xff08;笔记…

神经网络模型搭建及手写数字识别案例

代码实现&#xff1a;import torch print(torch.__version__) from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transforms import ToTensor training_data datasets.MNIST(rootdata,trainTrue,downloadTru…

CRMEB标准版PC扫码登录配置教程(PHP版)

需要在开放平台创建网站应用 微信开放平台地址&#xff1a;https://open.weixin.qq.com/ 1、注册网站应用 2、填写信息&#xff0c;网站地址填写前台访问的域名就行 3、复制开放平台AppId和开放平台AppSecret 4、粘贴到后台应用配置的PC站点配置里

AmazeVault 核心功能分析,认证、安全和关键的功能

系列文章目录 Amazevault 是一款专注于本地安全的桌面密码管理器 AmazeVault 核心功能分析&#xff0c;认证、安全和关键的功能 AmazeVault 快速开始&#xff0c;打造个人专属桌面密码管理器 文章目录系列文章目录前言一、认证系统核心组件图形解锁实现图形锁控件 (PatternLoc…

Coze用户账号设置修改用户昵称-后端源码

前言 本文将深入分析Coze Studio项目的用户昵称修改功能后端实现&#xff0c;通过源码解读来理解整个昵称更新流程的架构设计和技术实现。用户昵称修改作为用户个人信息管理系统的重要组成部分&#xff0c;主要负责处理用户显示名称的更新和管理。 昵称修改功能相对简单但不失重…

基于WebTransport(底层QUIC)实现视频传输(HTML+JavaScript)

工作目录和基本操作见博客《基于HTTP3的WebTransport实践》&#xff0c;在此仅展示服务器端和客户端代码。 服务器端 import { readFile } from "node:fs/promises"; import { createServer } from "node:https"; import {Server} from "socket.io&qu…

Git 怎么仓库迁移?error: remote origin already exists.怎么解决

1. 确认本地已经有完整的 旧 仓库你本地应该有旧的项目&#xff0c;并且能看到 .git 文件夹。如果没有&#xff0c;可以先从旧仓库克隆下来&#xff1a;git clone 旧仓库git地址 cd 旧代码目录比如&#xff1a;git clone https://gitee.com/star-information/esflow-pro-api.gi…

【语法】【C+V】本身常用图表类型用法快查【CSDN不支持,VSCODE可用】

文章目录Mermaid 简介Mermaid 由三部分组成Mermaid 的使用方法复杂图表结构的技巧饼图简介饼图语法饼图示例雷达图简介雷达图语法雷达图语法细节标题轴曲线选项雷达图示例时间线简介时间线语法时间线示例树形图简介树形图语法树形图示例数据包图简介数据包图语法1&#xff1a;数…

Anaconda下载安装教程(附Anaconda安装包)

Anaconda下载安装教程&#xff08;附Anaconda安装包&#xff09;获取&#xff1a;python开发工具包丨夸克网盘-资源免费下载 有位小粉丝刚刚入门python&#xff0c;问我怎么安装Anaconda&#xff0c;于是我帮他找了一个详细的Anaconda安装教程和安装包。 Anaconda其实是一个p…

那我现在有3个输入 9层神经元 每层神经元数为 3 9 3 5 6 2 3 9 8 请给出我所有的权重矩阵

问题1 那我现在有3个输入 9层神经元 每层神经元数为 3 9 3 5 6 2 3 9 8 请给出我所有的权重矩阵 明白&#xff0c;我们来系统地列出你的 9层全连接网络 的权重矩阵。1️⃣ 网络结构 输入层&#xff1a;3 个神经元隐藏层/输出层&#xff1a;9 层神经元数分别为 [3,9,3,5,6,2,3,9…

广东省省考备考(第八十七天8.26)——判断推理(听课后强化训练)

判断推理&#xff1a;定义判断 错题解析 第一步&#xff1a;找出定义关键词。 “农村中各项经济活动及由此产生的经济关系”、“同农业有直接或间接的关系”。 第二步&#xff1a;逐一分析选项。 A项&#xff1a;该项指出具体的夏粮产量和增量&#xff0c;其中生产粮食属于种植…

读取 STM32H5 Data Flash 触发 NMI 的问题解析 LAT1544

关键字&#xff1a;STM32H5, data flash&#xff0c; high-cycle data, NMI问题描述客户反馈&#xff0c;使用 STM32H563 的 data flash(high-cycle data flash)&#xff0c;在还没有写入任何数据之前去读取 data flash, 会触发 hardfault 异常。1. 问题分析我们尝试在 NUCLEO-…