一个类似于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/

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

相关推荐
hj5914_前端新手1 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法1 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku1 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode1 小时前
iOS 苹果内购 Storekit 2
前端
LuckySusu1 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu1 小时前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript
LuckySusu1 小时前
【js篇】深入理解 JavaScript 作用域与作用域链
前端·javascript
LuckySusu1 小时前
【js篇】call() 与 apply()深度对比
前端·javascript
LuckySusu1 小时前
【js篇】addEventListener()方法的参数和使用
前端·javascript
该用户已不存在1 小时前
6个值得收藏的.NET ORM 框架
前端·后端·.net