博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用vue-gird-layout 制作可定制桌面 (一)
阅读量:6214 次
发布时间:2019-06-21

本文共 3338 字,大约阅读时间需要 11 分钟。

安装 vue-gird-layout

 

先跑一遍demo 运行起来。

# install with npm    npm install vue-grid-layout --save

 index.vue 

1 
29 30 62 63 64
index.vue

 layoutData.json

{  "mainData": [    {      "x": 0,      "y": 0,      "w": 1,      "h": 1,      "i": "0"    },    {      "x": 0,      "y": 1,      "w": 1,      "h": 1,      "i": "1"    },    {      "x": 0,      "y": 2,      "w": 1,      "h": 1,      "i": "2"    },    {      "x": 0,      "y": 3,      "w": 1,      "h": 1,      "i": "3"    },    {      "x": 1,      "y": 0,      "w": 1,      "h": 1,      "i": "4"    },    {      "x": 1,      "y": 1,      "w": 1,      "h": 1,      "i": "5"    },    {      "x": 1,      "y": 2,      "w": 1,      "h": 1,      "i": "6"    },    {      "x": 1,      "y": 3,      "w": 1,      "h": 1,      "i": "7"    },    {      "x": 2,      "y": 0,      "w": 1,      "h": 1,      "i": "8"    },    {      "x": 2,      "y": 1,      "w": 1,      "h": 1,      "i": "9"    },    {      "x": 2,      "y": 2,      "w": 1,      "h": 1,      "i": "10"    },    {      "x": 2,      "y": 3,      "w": 1,      "h": 1,      "i": "11"    },    {      "x": 3,      "y": 0,      "w": 1,      "h": 1,      "i": "12"    },    {      "x": 3,      "y": 1,      "w": 1,      "h": 1,      "i": "13"    },    {      "x": 3,      "y": 2,      "w": 1,      "h": 1,      "i": "14"    },    {      "x": 3,      "y": 3,      "w": 1,      "h": 1,      "i": "15"    },    {      "x": 4,      "y": 0,      "w": 1,      "h": 1,      "i": "16"    },    {      "x": 4,      "y": 1,      "w": 1,      "h": 1,      "i": "17"    },    {      "x": 4,      "y": 2,      "w": 1,      "h": 1,      "i": "18"    },    {      "x": 4,      "y": 3,      "w": 1,      "h": 1,      "i": "19"    }  ]}
layoutData.json

 运行起来之后,页面效果

    加上点背景颜色

.vue-grid-item {  background: aquamarine;}

  

 

  此时可以拖拽,可以改变格子大小了。

  接下来开始写几个方法,封装一下配置

  

添加右键事件,以后配置的时候用

  html:

  • 1
  • 2
  • 3
  script:
        menuConfig: {          visible: false,          left: 0,          top: 0        }    
// 右键打开菜单 openMenu(tag, e) { this.menuConfig.visible = true this.menuConfig.left = e.clientX this.menuConfig.top = e.clientY }, // 关闭菜单 closeMenu() { this.menuConfig.visible = false }, // 测试方法 test(i) { console.log(i) } },
// 点击任意处,关闭菜单 'menuConfig.visible'() { if (this.menuConfig.visible) { document.body.addEventListener('click', this.closeMenu) } else { document.body.removeEventListener('click', this.closeMenu) } }
View Code

   style:

.contextmenu {      margin: 0;      background: #fff;      z-index: 100;      position: absolute;      list-style-type: none;      padding: 5px 0;      border-radius: 4px;      font-size: 12px;      font-weight: 400;      color: #333;      box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);      li {        margin: 0;        padding: 7px 16px;        cursor: pointer;        &:hover {          background: #eee;        }      }    }

 

 

转载于:https://www.cnblogs.com/yasoPeng/p/9961732.html

你可能感兴趣的文章
Cannot create a server using the selected type ...
查看>>
linux系统redhat中固定ip地址(使用静态ip)的配置方法
查看>>
数据的游戏:冰与火
查看>>
rss订阅开发
查看>>
SQL中的cast()函数介绍
查看>>
Kubernetes Deployment滚动更新场景分析
查看>>
eclipse中的.project 和 .classpath文件的具体作用
查看>>
JavaScript—内置对象
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
Linux学习---Day04
查看>>
Git使用详细教程
查看>>
MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
查看>>
json&pickle序列化
查看>>
月PV破15亿:Tumblr架构揭密
查看>>
Nginx配置404页面
查看>>
extjs正则表达式验证
查看>>
教你构建MySQL主从结构,实现基于SSL加密的主从同步机制。
查看>>
KIS标准系列“无效的加密服务器或加密服务器未启动”问题
查看>>
Android Studio 打包
查看>>