前端开发之vue-grid-layout的使用和实例

  • 前言
  • 效果图
  • 一、vue中简单案例
    • 1、安装组件
      • NPM
      • Yarn
    • 2、vue文件
  • 二、vue3使用(vue文件)
    • 1、需要导入vue3支持的该版本插件
    • 2、在mian.js里引入:
  • 三、在IE上无法打开,并报错缺少:,

前言

Vue Grid Layout官方文档
Vue Grid Layout中文文档
可通过拖拽改变布局(如果我们做简易开发,通过拖拽组件形成页面或者有这个需求就是非常实用的了)
因为vue-grid-layout是vue2版本的 但自己用的是vue3版本,所以要安装vue3的依赖和相关配置

效果图


一、vue中简单案例

1、安装组件

NPM

npm install vue-grid-layout --save

Yarn

yarn add vue-grid-layout

2、vue文件

<template><div style="width: 100%; height: 100%"><div class="layoutJSON">显示为<code>[x, y, w, h]</code>:<div class="columns"><div v-for="(item, indexVar) in layout" :key="indexVar"><b>{{ item.i }}</b>: [{{ item.x }}, {{ item.y }}, {{ item.w }}, {{ item.h }}]</div></div></div><hr /><input v-model="draggable" type="checkbox" />可拖动<input v-model="resizable" type="checkbox" />可调整大小<input v-model="responsive" type="checkbox" />镜像<br /><div style="width: 100%; margin-top: 10px; height: 100%"><grid-layout:col-num="12":is-draggable="draggable":is-resizable="resizable":layout="layout":responsive="responsive":row-height="30":use-css-transforms="true":vertical-compact="true"><grid-itemv-for="(item, indexVar) in layout":key="indexVar":h="item.h":i="item.i":static="item.static":w="item.w":x="item.x":y="item.y"><span class="text">{{ item.i }}</span></grid-item></grid-layout></div></div>
</template><script>import { GridLayout, GridItem } from 'vue-grid-layout'export default {components: {GridLayout,GridItem,},data() {return {layout: [{ 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' },],draggable: true,resizable: true,responsive: true,index: 0,}},}
</script><style scoped>.vue-grid-layout {background: #eee;}.vue-grid-item:not(.vue-grid-placeholder) {background: #ccc;border: 1px solid black;}.vue-grid-item .resizing {opacity: 0.9;}.vue-grid-item .static {background: #cce;}.vue-grid-item .text {font-size: 24px;text-align: center;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 100%;width: 100%;}.vue-grid-item .no-drag {height: 100%;width: 100%;}.vue-grid-item .minMax {font-size: 12px;}.vue-grid-item .add {cursor: pointer;}.vue-draggable-handle {position: absolute;width: 20px;height: 20px;top: 0;left: 0;background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><circle cx='5' cy='5' r='5' fill='#999999'/></svg>")no-repeat;background-position: bottom right;padding: 0 8px 8px 0;background-repeat: no-repeat;background-origin: content-box;box-sizing: border-box;cursor: pointer;}.layoutJSON {background: #ddd;border: 1px solid black;margin-top: 10px;padding: 10px;}.columns {-moz-columns: 120px;-webkit-columns: 120px;columns: 120px;}
</style>

二、vue3使用(vue文件)

在vue3中如果报错:
external_commonjs_vue_commonjs2_vue_root_Vue_default.a is not a constructor

1、需要导入vue3支持的该版本插件

npm add vue-grid-layout@3.0.0-beta1

2、在mian.js里引入:

import VueGridLayout from ‘vue-grid-layout’

加入:.use(VueGridLayout)
createApp(App).use(axios).use(router).use(VueGridLayout).mount(‘#app’)

因为vue-grid-layout是vue2版本的 但自己用的是vue3版本,所以要安装vue3的依赖和相关配置

三、在IE上无法打开,并报错缺少:,

主要原因就是第三方库的兼容性问题,把vue-grid-layout引入到vue.config.js文件下的transpileDependencies集合中:

module.exports = {...transpileDependencies: ['element-ui', 'proxy-polyfill' , 'vue-grid-layout'],
}

前端开发之vue-grid-layout的使用和实例相关推荐

  1. 前端开发之vue可视化数据图表组件(Chart.js)

    前端开发之vue可视化数据图表组件(Chart.js) 前言 制作好的效果图 vue2中使用Chart.js 1.在项目中安装Chart.js 组件 2.vue文件 vue3中使用Chart.js v ...

  2. web前端开发之vue基础

    一.vue基础 1.1 啥是vue 1.1.1 创建vue 引入vue.js 的cdn节点 <script src="https://cdn.jsdelivr.net/npm/vue/ ...

  3. 移动前端开发之viewport,devicePixelRatio的深入理解

    移动前端开发之viewport的深入理解 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的met ...

  4. 深入理解移动前端开发之viewport

    在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或 ...

  5. 前端开发之jQuery

    前端开发之jQuery 一.jquery简介 1. jquery是什么? 2. 什么是jQuery对象? 二.寻找元素(重要的选择器和筛选器) 1. 选择器 2. 筛选器 三.操作元素(属性 CSS ...

  6. 简单易懂的微前端开发之qiankun快速体验

    简单易懂的微前端开发之qiankun快速体验 微前端 问题 SingleSPA qiankun 快速体验 准备 开发 基座修改 子应用一修改 子应用二修改 运行结果 可能会遇到的问题 微前端 微前端就 ...

  7. date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯

    Datejs 是一个开源的JavaScript库,用来解析.格式化和处理日期数据,支持多种语言的日期格式处理:官网:www.datejs.com/ Moment.js 是一个简单易用的轻量级JavaS ...

  8. 【转载】前端开发之CSS兼容写法经验总结

    为什么80%的码农都做不了架构师?>>>    前端开发之CSS兼容写法经验总结技术 maybe yes 发表于2014-11-23 22:47 原文链接 : http://blog ...

  9. 前端开发之SEO(搜索引擎优化)

    前端开发之SEO(搜索引擎优化) 文章目录 前言 一.突出重要内容 合理的title.description和keywords 语义化书写HTML代码,符合W3C标准 利用布局,把重要内容HTML代码 ...

最新文章

  1. 二维树状数组 ----2021广东省赛 ----- K - Kera‘s line segment[区间转二维平面+树状数组维护前缀最小最大值]
  2. ASP.NET MVC WebAPI 资源整理
  3. html鼠标长按事件,JavaScript-web如何获取长按鼠标左键事件
  4. 博图如何读取mysql数据_博途使用小结:从SQL中读取数据并给变量赋值
  5. SaltStack 学习笔记 - 第六篇: 详解Pillar
  6. HDU - 2438 Turn the corner(三分)
  7. 辨别真假数据科学家必备手册:深度学习45个基础问题(附答案)
  8. Binding(一):数据绑定
  9. 高并发网络编程之epoll(个人遇到最好理解的一篇文章、易懂)
  10. 大数据在电力行业的应用前景有哪些?
  11. mysql5.7 开启重连_MySQL5.7.9,怎样永久设置client、connection、results这三项为utf8?...
  12. 高等数学上下册及习题解析(同济第七版)
  13. php排课系统设计,基于PHP+MYSQL教务排课系统设计实现论文
  14. ggplot2——双坐标轴?
  15. canvas lineWidth1px问题
  16. 《美国职业橄榄球大联盟》:NFL·橄榄1号位
  17. 【托业】【语法题】笔记
  18. Web Workers API
  19. 使用 OpenSSL 加密和解密文件
  20. 时间序列分析这件小事(八)----格兰杰因果关系检验

热门文章

  1. sql还原mysql_sql 数据库还原图文教程
  2. 孤立森林算法-异常点检测
  3. 关于金融市场的一些知识
  4. 什么样的蓝牙耳机适合上网课?稳定性强的蓝牙耳机推荐
  5. 河北省中考计算机操作试题2019,2019年河北省中考试卷、答案、解析
  6. 上海网站建设优秀企业汇总
  7. C语言实例(五)素数_数据按不同格式输出_计算器
  8. 卡牌类手游源码 刀塔传奇 免费分享 基于cocos2d-x3.0引擎开发
  9. 入门难,10孔布鲁斯口琴的衰落是必然的
  10. 阅文年营收76.3亿:提质增效 Non-IFRS归母净利增9.6%