Vue的一个容器大小怎么调_Vue 封装 Adminle3 左右上中下布局

为了响应式研究了一下 adminlte3,封装了一个 Adminlte Vue 组件库。名字叫 nly-adminlte-vue。

知乎不能写表格,我转成了图片,如果影响阅读,请移步Github或者文档查看

GitHub 地址:

nly-adminlte-vue​github.com

文档地址:

NlyAdminlteVue​nly-adminlte-vue.nejinn.com
f7f9201cf81b3fb8362fbd770c591151.png

在线 Demo 地址:

nly-adminlte-vue​nejinn.github.io

文档目前还只写完了 5 个组件文档。其他的都在每个组件下的 README.md 中。

nly-adminlte-vue 全是 jsx 封装的组件,大部分是函数式组件,渲染速度是要比.vue 组件快。
这个组件库没有引入 jq。注意没有引入 JQ。很多 Adminlte Vue 的组件库都是引入了 JQ,这样肯定是不行的,多少会有 bug,至于为什么不行,请理解 Vue 的精髓, 数据驱动 目前差不多快 50 个复用组件了。
adminlte3 的布局有一种 collapse 布局,也就是左边侧导航栏,右侧上中下布局,且边侧导航栏可以收起展开。
admintle3 控制布局的 class 主要在标签上。左右布局中,主要有 3 个 css 类来控制布局。这三个 css 类主要在左右布局中使用。
  • 第一个是 layout-fixed,这个主要是控制右侧上中下布局在初始情况下有一个 margin-left: 250px 的属性,即偏移左侧 250px,腾出空间给左侧。且还有一个作用是让左侧导航栏滚动条与窗口滚动条不冲突。
  • 第二个是 sidebar-mini,这个允许左侧导航栏在设置好的断点状态能收起到边侧只显示图标。如果没有这个,边侧导航栏收起会直接消失,不出现在窗口中。
  • 第三个是 sidebar-collapse。实际上应该还有一个 sidebar-open。不过 sidebar-open 是在小屏情况下,展开左侧导航栏才会出现。sidebar-collapse 是用来控制左侧导航栏收起的 css 类。

组件

分解一下组件。
  • 容器:容器是用来包裹左侧导航栏,右侧上中下布局的容器。常见的有 container。但是 adminlte 中是用 wrapper。给组件去一个名字叫 NlyWrapper
  • 左侧导航栏容器:左侧导航栏容器是一个包裹左侧导航栏面板的容器。给组件取一个名字叫 NlyWrapperSidbar
  • 右侧 header 容器:右侧布局上的容器,通常可以包裹 navbar 菜单等。给组件取一个名字叫 NlyWrapperHeader
  • 右侧 main 容器:包裹页面正文内容的容器。给组件取一个名字叫 NlyWrapperContent
  • 右侧 footer 容器:包裹右侧布局底部一些内容。给组件取一个名字叫 NlyWrapperFooter
这时候布局代码就应该是这样
<

NlyWrapper

这是一个容器组件, 这个组件主要用来包裹其他所有组件,且用来控制 body 的 css 类。
props 如下

944c9748a03ec02f83aec66817b42470.png
import 

NlyWrapperSidebar

这是一个容器组件, 主要用来包裹左侧导航栏的
props 如下

35bc6d8544844dc62b1f6b6df1aa26e4.png
import 

NlyWrapperHeader

这是一个容器组件, 主要用来包裹右侧 header 的。在这个组件中,有几个 prop 是在 prop nav=true 的时候生效,这是因为在 adminlte3 中,navbar 直接就做成了顶部容器。所有给了一个 nav props 让 header 容器可以变成 navbar
props 如下

14badd5eb1d21ba8b04ce37c0f3e1272.png
import 

NlyWrapperContent

这是一个容器组件, 主要用来包裹右侧 main 的 的。
props 如下

参数 | 类型 | 默认值 | 描述

-|-|-|-

tag | String | div | 标签

import 

NlyWrapperFooter

这是一个容器组件, 主要用来包裹右侧 footer 的 的。
props 如下

参数 | 类型 | 默认值 | 描述 -|-|-|- size | String | | 文字大小

import 

注册

将以上组件注册,就可以在 vue 中直接使用了
注册代码 demo
import 

效果

代码。代码里使用了 height,是因为封装大的组件高度都是由子元素决定的。没有子元素就先用 height 撑起来看效果
<

3de9b8606c5aab8c64d7395e347159f0.png

一定要看完

组件封装中引入的文件,请移步Github查看。不然组件是跑不起来的。
还缺一个收起左侧导航栏的按钮,这个下一篇文章再讲
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值