一个类似于Gridster的栅格布局系统Vue组件

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!

Vue Grid Layout是一个类似于Gridster的栅格布局系统, 适用于Vue.js,灵感来源于React Grid Layout。

特性

  • 可拖拽

  • 可调整大小

  • 静态部件(不可拖拽、调整大小)

  • 拖拽和调整大小时进行边界检查

  • 增减部件时避免重建栅格

  • 可序列化和还原的布局

  • 自动化 RTL 支持

  • 响应式

安装

Npm

npm i vue-grid-layout

Yarn

yarn add vue-grid-layout

浏览器

<script src="vue-grid-layout.umd.min.js"></script>

使用

引入

import VueGridLayout from 'vue-grid-layout';

加入到组件中

export default { components: { GridLayout: VueGridLayout.GridLayout, GridItem: VueGridLayout.GridItem }, // ... data, methods, mounted (), etc. }

数据

`var testLayout = [

{"x":0,"y":0,"w":2,"h":2,"i":"0"},

{"x":2,"y":0,"w":2,"h":4,"i":"1"},

{"x":4,"y":0,"w":2,"h":5,"i":"2"},

{"x":6,"y":0,"w":2,"h":3,"i":"3"},

{"x":8,"y":0,"w":2,"h":3,"i":"4"},

{"x":10,"y":0,"w":2,"h":3,"i":"5"},

{"x":0,"y":5,"w":2,"h":5,"i":"6"},

{"x":2,"y":5,"w":2,"h":5,"i":"7"},

{"x":4,"y":5,"w":2,"h":5,"i":"8"},

{"x":6,"y":3,"w":2,"h":4,"i":"9"},

{"x":8,"y":4,"w":2,"h":4,"i":"10"},

{"x":10,"y":4,"w":2,"h":4,"i":"11"},

{"x":0,"y":10,"w":2,"h":5,"i":"12"},

{"x":2,"y":10,"w":2,"h":5,"i":"13"},

{"x":4,"y":8,"w":2,"h":4,"i":"14"},

{"x":6,"y":8,"w":2,"h":4,"i":"15"},

{"x":8,"y":10,"w":2,"h":5,"i":"16"},

{"x":10,"y":4,"w":2,"h":2,"i":"17"},

{"x":0,"y":9,"w":2,"h":3,"i":"18"},

{"x":2,"y":6,"w":2,"h":2,"i":"19"}

];

复制代码
new Vue({
    el: '#app',
    data: {
        layout: testLayout,
    },
});`

html

复制代码
    <grid-item v-for="item in layout"
               :x="item.x"
               :y="item.y"
               :w="item.w"
               :h="item.h"
               :i="item.i"
               :key="item.i">
        {{item.i}}
    </grid-item>
</grid-layout>

Github地址:https://github.com/jbaysolutions/vue-grid-layout

API文档地址:https://jbaysolutions.github.io/vue-grid-layout/

我是老鱼,白天敲代码,晚上搞自媒体。
课程 | 陪跑 | 项目 | 副业咨询

相关推荐
Bellafu6661 小时前
selenium 常用xpath写法
前端·selenium·测试工具
blackorbird3 小时前
Edge 浏览器 IE 模式成攻击突破口:黑客借仿冒网站诱导攻击
前端·edge
谷歌开发者4 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
名字越长技术越强4 小时前
Chrome和IE获取本机ip地址
前端
天***88964 小时前
Chrome 安装失败且提示“无可用的更新” 或 “与服务器的连接意外终止”,Chrome 离线版下载安装教程
前端·chrome
半梦半醒*4 小时前
zabbix安装
linux·运维·前端·网络·zabbix
清羽_ls5 小时前
React Hooks 核心规则&自定义 Hooks
前端·react.js·hooks
你的人类朋友5 小时前
“签名”这个概念是非对称加密独有的吗?
前端·后端·安全
西陵5 小时前
Nx带来极致的前端开发体验——任务缓存
前端·javascript·架构
10年前端老司机6 小时前
Promise 常见面试题(持续更新中)
前端·javascript