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 组件

相关推荐
莪_幻尘18 分钟前
Skill 体检:30 个 Skill 全凭感觉?体检器先自曝了 8 个“假 0 分
前端·人工智能·llm
风骏时光牛马20 分钟前
AI模型综合能力评测:性能、指令遵循与多场景实测对比
前端
Frag0ut24 分钟前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
hiahiahia1231 小时前
实现完整 Tool Dispatcher
开发语言·前端
IT_陈寒1 小时前
Java线程池这破玩意,差点让我周末加班排查到凌晨
前端·人工智能·后端
Mr_Mao2 小时前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
泡海椒3 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qwfy3 小时前
我要用 AI-native 架构,从零重建一套制造业 ERP/MES
vue.js·spring boot·架构
默_笙3 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
YIAN3 小时前
从跨域代理到 WebSocket:梳理前端实时通信的底层逻辑与完整实践
前端·websocket