vue可拖拽的瀑布流布局组件实现详解

 更新时间:2023年06月06日 14:10:35   作者:AshleyLv  
这篇文章主要为大家介绍了vue的可拖拽的瀑布流布局组件有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

vue-grid-layout

vue-grid-layout是一个功能强大的瀑布流布局组件。支持用户拖拽和对改变元素大小,并提供相应的事件进行自定义操作。而且布局可以存储和再展现。

安装

通过NPM安装

npm install vue-grid-layout

插件应用

这是一个使用的例子

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":4,"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"}
    ];
    var GridLayout = VueGridLayout.GridLayout;
    var GridItem = VueGridLayout.GridItem;
    new Vue({
        el: '#app',
        components: {
            GridLayout,
            GridItem,
        },
        data: {
            layout: testLayout,
        },
    });
<grid-layout
            :layout="layout"
            :col-num="12"
            :row-height="30"
            :is-draggable="true"
            :is-resizable="true"
            :vertical-compact="true"
            :margin="[10, 10]"
            :use-css-transforms="true">
        <grid-item v-for="item in layout"
                   :x="item.x"
                   :y="item.y"
                   :w="item.w"
                   :h="item.h"
                   :i="item.i">
            {{item.i}}
        </grid-item>
    </grid-layout>

插件参数

参数类型默认值说明
autoSizeBooleantrue是否根据内容确定容器的高度
colNumNumber12列数
rowHeightNumber150行高
maxRowsNumberInfinity最大的行高
marginArray[10, 10]两个可移动元素间的距离
isDraggableBooleantrue是否支持推拽
isResizableBooleantrue是否支持改变大小
useCssTransformsBooleantrue是否使用自定义的过渡效果
verticalCompactBooleantrue是否使用verticalCompact布局
layoutArray-布局位置

以上就是vue的可拖拽的瀑布流布局组件的详细内容,更多关于vue可拖拽瀑布流组件的资料请关注脚本之家其它相关文章!

相关文章

  • vue elementUI 上传非空验证示例代码

    vue elementUI 上传非空验证示例代码

    这篇文章主要介绍了vue elementUI 上传非空验证,原理就是写一个假的红色*号,每次点击查看的时候执this.rules.staffImg[0].required = false,本文结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-12-12
  • VUEJS 2.0 子组件访问/调用父组件的实例

    VUEJS 2.0 子组件访问/调用父组件的实例

    下面小编就为大家分享一篇VUEJS 2.0 子组件访问/调用父组件的实例。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • Vue实现一个带有缓存功能的Tab页签功能

    Vue实现一个带有缓存功能的Tab页签功能

    在现代 Web 应用中,Tab 页签功能是非常常见的一种交互模式,它可以帮助用户在不同的视图间快速切换,而不会丢失当前视图的状态,本文将介绍如何在 Vue 项目中实现一个带有缓存功能的 Tab 页签功能,需要的朋友可以参考下
    2024-08-08
  • Vue3中的常见组件通信之mitt使用详解

    Vue3中的常见组件通信之mitt使用详解

    这篇文章主要介绍了Vue3中的常见组件通信之mitt使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 使用Vue实现图片上传的三种方式

    使用Vue实现图片上传的三种方式

    在项目中经常会遇到图片上传功能,今天脚本之家小编给大家带来了使用Vue实现图片上传的三种方式,感兴趣的朋友一起看看吧
    2018-07-07
  • vue中使用mockjs配置和使用方式

    vue中使用mockjs配置和使用方式

    这篇文章主要介绍了vue中使用mockjs配置和使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue3实现在新标签中打开指定网址的方法

    vue3实现在新标签中打开指定网址的方法

    我希望点击查看按钮的时候,能够在新的标签页面打开这个文件的地址进行预览,该如何实现呢,下面小编给大家带来了基于vue3实现在新标签中打开指定的网址,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • vue中el-date-picker选择日期的限制的项目实践

    vue中el-date-picker选择日期的限制的项目实践

    ElementUI的el-date-picker使用时,有时候想要限制用户选择的时间范围,本文就来介绍了vue中el-date-picker选择日期的限制的项目实践,感兴趣的可以了解一下
    2023-10-10
  • Vue关于Element UI中的文本域换行问题

    Vue关于Element UI中的文本域换行问题

    这篇文章主要介绍了Vue关于Element UI中的文本域换行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue中Axios的封装和API接口的管理示例详解

    vue中Axios的封装和API接口的管理示例详解

    这篇文章主要介绍了vue中Axios的封装和API接口的管理,主要目的就是在帮助我们简化代码和利于后期的更新维护,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09

最新评论