vue-grid-layout+component 实现动态布局,【必备】

| h | 高度 ,最后算出的元素高度是 h*rowHeight | 数字 |

主要代码


定义一个默认的布局

var testLayout = [

{x: 0,y: 0,w: 6,h: 5,i: “0”,component: “test1”},//0列0行 宽为5块,高为5*rowHeight

{x: 6, y: 0, w: 6, h: 5, i: “1”, component: “test2” },// 列为6(因为上一块的宽度是6)

{x: 0,y: 5,w: 12,h: 10,i: “2”,component: “test3”},//自己算一算吧

{x: 0,y: 15,w: 12,h: 10,i: “3”,component: “test4”}

];

生成布局

// 最外大的grid,绑定了testLayout的值,这样testLayout 会随着用户的拖拽放大缩小改变

// 可以参考官方的实例

<grid-layout

:layout.sync=“testLayout”

:col-num=“12”

:row-height=“55”

:is-draggable=“draggable”

:is-resizable=“resizable”

:auto-size=“true”

:responsive=“responsive”

// 遍历testLayout生成item

<grid-item

v-for=“item in testLayout”

:x=“item.x”

:y=“item.y”

:w=“item.w”

:h=“item.h”

:i=“item.i”

:key=“item.key”

// 定义一个关闭按钮实现删除当前的

{{item.title}}

// 这里使用component来显示组件。

css 样式

定义整个布局的背景颜色

.vue-grid-layout {

position: relative;

background: #fff;

}

定义每一个 item 的样式

.vue-grid-item{

}

GridItem 内部元素的样式

这里在 grid-item 内部加入一个 assistor,是因为如果 grid-item 内部元素的大小过大会出现滚动条

这里将 border 加在 assistor 上,

当然你也可以加在.vue-grid-item 上,但是如果你需要动态的增加组件的话,在增加的时候 boder 会加不上。

.assistor {

height: 100%;

overflow-y: scroll;

padding: 10px;

border: 1px solid rgb(224, 219, 219);

}

增加一个关闭的按钮

.close-icon {

float: right;

position: absolute;

text-align: right;

right: 0px;

top: 0px;

z-index: 200;

}

动态增减的实现思路


其实就是对 layout 进行操作

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里免费领取

前端面试题宝典

前端校招面试题详解

查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里免费领取

[外链图片转存中…(img-hEtZmCc4-1712217971782)]

[外链图片转存中…(img-hfKG5TMv-1712217971783)]

[外链图片转存中…(img-usby4np1-1712217971783)]

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue是一种流行的JavaScript框架,用于构建用户界面。它采用了组件化的开发方式,使得开发者可以将页面拆分成多个独立的组件,每个组件负责自己的逻辑和样式。Vue具有简洁易学的语法和高效的性能,因此在前端开发中得到了广泛应用。 Vue-grid-layoutVue的一个插件,用于实现网格布局。它提供了一个可拖拽和可调整大小的网格系统,使得开发者可以轻松地创建灵活的布局。通过使用vue-grid-layout,开发者可以将页面元素按照网格的形式进行排列,并且可以通过拖拽和调整大小来改变元素的位置和尺寸。 以下是一个简单的示例代码,展示了如何在Vue中使用vue-grid-layout: ```html <template> <div> <vue-grid-layout :layout="layout" :col-num="12" :row-height="30" :is-draggable="true" :is-resizable="true"> <div v-for="item in layout" :key="item.i" :data-grid="item"> {{ item.i }} </div> </vue-grid-layout> </div> </template> <script> import VueGridLayout from 'vue-grid-layout'; export default { components: { VueGridLayout }, data() { return { layout: [ { x: 0, y: 0, w: 2, h: 2, i: '1' }, { x: 2, y: 0, w: 4, h: 2, i: '2' }, { x: 6, y: 0, w: 2, h: 4, i: '3' } ] }; } }; </script> ``` 在上面的代码中,我们首先导入了vue-grid-layout插件,并将其注册为Vue的组件。然后,在模板中使用`vue-grid-layout`标签来创建一个网格布局容器。通过设置不同的属性,我们可以定义网格的列数、行高、是否可拖拽和调整大小等。在`vue-grid-layout`标签内部,我们使用`v-for`指令来遍历`layout`数组,并将每个元素渲染为一个网格项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值