vue2组件封装实战系列之aside组件

组件之 GfSide

侧边栏组件一般有固定宽度用于导航菜单,布局

效果预览

属性

参数 类型 说明 可选值 默认值
width String 侧边栏的宽度 30%

代码实现

这里我们使用了 function 组件来实现 space 组件,比较简洁灵活

js 复制代码
<template>
  <aside class="el-aside" :style="{width}" v-bind="$attrs">
    <slot></slot>
  </aside>
</template>

<script>
export default {
  name: "GfAside",
  componentName: "GfAside",
  props: {
    width: {
      type: String,
      default: "300px",
    },
  },
};
</script>

样式文件可以参考elementui的实现,后面会写一篇文章详细分析组件库的样式怎么去写的文章,敬请关注

使用

html 复制代码
<gf-aside :width="!isCollapse ? '210px' : '50px'">
  <SiderBar
    class="sidebar-container"
    :style="{ width: !isCollapse ? '210px' : '50px' }"
  />
</gf-aside>

可以根据自己的需要,对组件进行扩展,封装负责自己业务的组件也可以

这样,我们就实现了自己的 side 组件

相关推荐
凤凰战士芭比Q30 分钟前
web中间件——(二)Nginx(高级功能、优化)
前端·nginx·中间件
阿珊和她的猫33 分钟前
表单数据验证:HTML5 自带属性与其他方法的结合应用
前端·状态模式·html5
谷粒.2 小时前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
小飞侠在吗7 小时前
vue props
前端·javascript·vue.js
DsirNg8 小时前
页面栈溢出问题修复总结
前端·微信小程序
小徐_23338 小时前
uni-app 也能远程调试?使用 PageSpy 打开调试的新大门!
前端·微信小程序·uni-app
大怪v9 小时前
【Virtual World 03】上帝之手
前端·javascript
用户841794814569 小时前
vxe-gantt 甘特图实现产品进度列表,自定义任务条样式和提示信息
vue.js
别叫我->学废了->lol在线等10 小时前
演示 hasattr 和 ** 解包操作符
开发语言·前端·python
霍夫曼10 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript