介紹
vue-grid-layout是一個功能強大的瀑布流布局組件炭玫。支持用戶拖拽和對改變元素大小庄涡,并提供相應的事件進行自定義操作文留。而且布局可以存儲和再展現(xiàn)昼浦。
安裝
通過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>
插件參數(shù)
參數(shù) | 類型 | 默認值 | 說明 |
---|---|---|---|
autoSize | Boolean | true | 是否根據(jù)內容確定容器的高度 |
colNum | Number | 12 | 列數(shù) |
rowHeight | Number | 150 | 行高 |
maxRows | Number | Infinity | 最大的行高 |
margin | Array | [10, 10] | 兩個可移動元素間的距離 |
isDraggable | Boolean | true | 是否支持推拽 |
isResizable | Boolean | true | 是否支持改變大小 |
useCssTransforms | Boolean | true | 是否使用自定義的過渡效果 |
verticalCompact | Boolean | true | 是否使用verticalCompact布局 |
layout | Array | - | 布局位置 |
輪子工廠--一個分享優(yōu)秀的vue,angular組件的網(wǎng)站