在使用Grafana的过程中,发现Grafana关于视图页面中每一个面板都可拖拽,可随意放大放小,体验非常棒,F12看了Grafana的代码,看打包后的代码很像react,进一步css,看到有grid layout的字眼,然后尝试去搜了下有没有这方面的组件,一搜果然是有这样的组件的。首先看到的是react版本的组件,然后搜了下也有vue相关的。 以前也见过jquery的可拖拽组件demo,但是整体上感觉不如grid-layout优秀。

【】 VUE Grid Layout.

【】React Grid Layout

【】jQuery响应式可拖拽的元素组件网格布局插件

每个组件在GitHub上的介绍还是比较清晰易懂,项目中主要用到了vue-grid-layout组件,下面简单介绍下。

执行如下命令安装

npm install vue-grid-layout --save
然后新增一个grid_layout.vue文件 <template>
<div>
<grid-layout
:is-draggable="true"
:is-resizable="true"
:is-mirrored="false"
:layoutList="testLayout">
</grid-layout>
</div>
</template> <script>
import gridLayout from './../comm/grid_layout' export default {
data() {
return {
testLayout: [
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""},
{"x": , "y": , "w": , "h": , "i": ""}
]
}
},
components: {
gridLayout
},
}
</script> <style scoped>
</style>
is-draggable 表示是否可拖拽,设置为true,说明是可以随意拖拽的
is-resizable 表示是否可缩放,设置为ture,说明可以通过鼠标调整每一区域的大小
layoutList   是绑定的数据实体,用来标识区域大小的 layoutList是一个对象数据,每一个对象如下
{"x": , "y": , "w": , "h": , "i": ""}
其中:
x 标识该区域左上角点的x坐标
y 标识该区域左上角点的y坐标
w 是宽度
h 是高度
i 是唯一标示,表示必须唯一,且不同,不然,你会发现改变大小的时候,所有的都会被改变。。。
---------------------
作者:凉茶冰
来源:CSDN
原文:https://blog.csdn.net/liangcha007/article/details/88963551
版权声明:本文为博主原创文章,转载请附上博文链接!

Vue-Grid-Layout分享一款好用的可拖拽组件的更多相关文章

  1. Vue.Draggable:基于 Sortable.js 的 Vue 拖拽组件使用中遇到的问题

    Sortable.js 介绍 https://segmentfault.com/a/1190000008209715 项目中遇到的问题: A - 我需要在项目的拖拽组件中,使用背景 1 - 想到的第一 ...

  2. vue拖拽组件开发

    vue拖拽组件开发 创建临时vue项目 先查看node和npm版本,怎么安装就不多多bb了 再安装vue-cli npm install vue-cli -g //全局安装 vue-cli 检测是否安 ...

  3. Vue 可拖拽组件 Vue Smooth DnD 详解和应用演示

    本文发布自 https://www.cnblogs.com/wenruo/p/15061907.html 转载请注明出处. 简介和 Demo 展示 最近需要有个拖拽列表的需求,发现一个简单好用的 Vu ...

  4. Vue拖拽组件

    vue开发公众号项目,***产品需要添加一个新的功能.拖拽功能.一听简单.百度上轮子挺多,直接拉一个过来用着就行.然鹅...兴奋之余,却失望至极.东西很多,没有一个能使得.你让我失望,那我就让你绝望. ...

  5. Vue 拖拽组件 vuedraggable 和 vue-dragging

    一.描述 之前用 vue 写过一个在线的多二维码生成服务,体验地址:https://postbird.gitee.io/vue-online-qrcode/ 后面发现二维码多了之后有时候想要排序,需要 ...

  6. vue实现拖拽组件

    可以拖拽,靠边停靠,效果图如下 代码如下: 注意:代码中使用的图片未上传 DragAndDrop组件: <template> <div class="drag" ...

  7. vue2-dragula vue拖拽组件

    https://github.com/kristianmandrup/vue2-dragula git 地址 https://github.com/kristianmandrup/vue2-dragu ...

  8. vue在移动端使用alloyfinger手势库操作图片拖拽、缩放

    最近开发一个活动需要在手机上给上传的头像加上边框.装饰,需要拖拽.手势缩放边框下的头像图片,因为是vue项目,开始尝试了vue-drag-resize这个组件,对图片拖拽支持很完美,但是无法手势缩放, ...

  9. vue列表拖拽组件 vue-dragging

    安装 $ npm install awe-dnd --save 应用 在main.js中,通过Vue.use导入插件 import VueDND from 'awe-dnd' Vue.use(VueD ...

随机推荐

  1. python指定概率随机取值 理解np.random.seed()

    python指定概率随机取值参考如下: 下面是利用 np.random.choice()指定概率取样的例子: np.random.seed(0) p = np.array([0.1, 0.0, 0.7 ...

  2. vue 外卖app(3) 利用slot分发内容

    1. 增加一个HeaderTop.vue <template> <header class="header"> <slot name="le ...

  3. 基于 CI 1.7.x 的 项目使用新版本CI的文件缓存类库

    维护的项目使用的是 codeigniter 1.7.x版本,但是我想使用文件缓存,但是旧版本是没有缓存类库的,并且autoload.php没有drivers这个配置项. 我复制的是 Codeignit ...

  4. HttpUrlConnection类基本使用

    这个类用来模拟浏览器向服务器发送请求和接收响应 注意: HttpUrlConnection对象简称huc对象 1)获取huc对象向url构造中传递url字符串,并调用openconnection方法即 ...

  5. 阿里云重磅推出物联网设备身份认证Link ID²

     2018年12月19日,阿里云宣布推出新版物联网设备身份认证Link ID²及物联网安全运营中心Link SOC,护航万物智联.   随着越来越多的设备连接到网络中,随之而来的安全问题越来越突出. ...

  6. NX二次开发-算法篇-找相切面

    方法1:通过判断相邻面公共边的光顺性来找相切面 1 #include <uf.h> 2 #include <uf_modl.h> 3 #include <uf_obj.h ...

  7. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.【转载】

    文章出处https://blog.csdn.net/qq_38721302/article/details/82850292 今天编写C++程序在使用头文件#include<cstring> ...

  8. (转)使用Apache的ab工具进行压力测试

    转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...

  9. params拦截器

    1. params拦截器首先给action中的相关参数赋值,如id  2. prepare拦截器执行prepare方法,prepare方法中会根据参数,如id,去调用业务逻辑,设置model对象   ...

  10. JDK 安装步骤

    1.JAVA_HOME  =  JDK安装路径 2.  Path  =  %JAVA_HOME%\bin; 3.  CLASSPATH   =  .;%JAVA_HOME%\lib\dt.jar;%J ...