浅谈Vue个性化dashBoard 布局

Posted 于文静0727

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Vue个性化dashBoard 布局相关的知识,希望对你有一定的参考价值。

dashBoard布局在管理系统使用比较多;使用自己喜欢的方式进行自定义布局

使用npm 安装

1 npm install vue-grid-layout

全局使用

1 import vueGridLayout from ‘vue-grid-layout‘;
2 Vue.use(vueGridLayout);

局部使用

var GridLayout = vueGridLayout.GridLayout;
var GridItem = vueGridLayout.GridItem;

注册组件

1  components:{
2             GridLayout,
3             GridItem,
4     },

数据源

1 var testLayout = [
2       {"x":0,"y":0,"w":2,"h":2,"i":"0",compentent:"组件"},
3       {"x":2,"y":0,"w":2,"h":4,"i":"1",compentent:"组件"},
4       {"x":4,"y":0,"w":2,"h":5,"i":"2",compentent:"组件"},
5       {"x":6,"y":0,"w":2,"h":3,"i":"3",compentent:"组件"},
6     ];

 

渲染

 1 <grid-layout
 2             :layout="layout"
 3             :col-num="12"
 4             :row-height="30"
 5             :is-draggable="true"
 6             :is-resizable="true"
 7             :vertical-compact="true"
 8             :margin="[10, 10]"
 9             :use-css-transforms="true"
10     >
11         <grid-item v-for="item in layout"
12                    :x="item.x"
13                    :y="item.y"
14                    :w="item.w"
15                    :h="item.h"
16                    :i="item.i">
17           <component v-bind:is="item.component"> </component>
18         </grid-item>
19     </grid-layout>

 

参数配置

1 autoSize    Boolean true    是否根据内容确定容器的高度
2 isDraggable Boolean true    是否支持推拽
3 isResizable Boolean true    是否支持改变大小
4 useCssTransforms    Boolean true    是否使用自定义的过渡效果
5 verticalCompact Boolean true    是否使用verticalCompact布局
6 layout  Array   -   布局位置

事件

1 @resize="resizeEvent"     //托拽时
2 @move="moveEvent"         //移动时
3 @resized="resizedEvent"  //托拽结束
4 @moved="movedEvent"      //移动停止

 

是不错的dashBoard布局选择,参考来源 
https://github.com/jbaysolutions/vue-grid-layout

以上是关于浅谈Vue个性化dashBoard 布局的主要内容,如果未能解决你的问题,请参考以下文章

vue-grid-layout组件的改装--暴露布局方法

# pc端个性化日历实现

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段——.vue文件的模板

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

VSCode自定义代码片段(vue主模板)