Vue + Element-UI —— 项目实战(二)

简介: Vue + Element-UI —— 项目实战(二)

项目演示

项目教学视频链接

https://www.bilibili.com/video/BV1dY411T71E?t=57.3

vue + element-ui 项目演示

二、项目实战二

Ⅰ、搭建 header 组件

1. header 左侧
  1. 引入菜单按钮,大小设置为 mini
  2. 引入下拉栏,trigger 设置点击时下拉
  <!-- header的左侧,plain:menu按钮的类型(朴素按钮)-->
  <div class="l-content">
      <el-button plain icon="el-icon-menu" size="mini"></el-button>
      <h3 style="color: #fff">首页</h3>
    </div>
2. header 右侧
  1. 动态添加图片
  <!-- header的右侧,trigger:触发下拉的行为 -->
    <div class="r-content">
      <el-dropdown trigger="click" size="mini">
        <span>
          <!-- 动态引入头像 -->
          <img class="user" :src="userImg" />
        </span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>个人中心</el-dropdown-item>
          <el-dropdown-item>退出</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </div>
3. 左侧和右侧的 flex 布局
  1. 通过 flex 布局书写样式,调整好布局
  header {
    display: flex;
    height: 100%;
    justify-content: space-between;
    align-items: center;
  }
  .l-content{
    display: flex;
    align-items: center;
    .el-button {
      margin-right: 20px;
    }
  }
  .r-content {
    .user{
      width: 40px;
      height: 40px;
      border-radius: 50%;
    }
  }

fbb80a70be5644ef8e08c19baa655fd0.png

Ⅱ、vuex 实现左侧折叠

1. 安装 vuex

终端键入如下代码,安装 vuex3 版本

  npm i vuex@3
2. 配置和使用 vuex
  1. 创建 store 文件夹,在该文件夹下创建 index.js 文件,用来管理 vuex 的相关配置
  import Vue from 'vue'
  import Vuex from 'vuex'
  import tab from './tab'
  import user from './user'
  // 全局使用Vuex
  Vue.use(Vuex)
  export default new Vuex.Store({
      //模块化定义
      modules:{
          tab,
          user
      }
  })
  1. 在 store 文件夹下,定义 tab.js 文件
  export default {
    // 用于存储具体的数据
    state: {
      // menu是否展开,默认为展开
      isCollapse: false,
    },
    // 用来修改state中的数据
    mutations: {
      collapseMenu(state){
          state.isCollapse = !state.isCollapse //进行取反操作
      }
    }
  }
  1. 在 CommonHeader.vue 中添加 handleMenu() 方法
  handleMenu() {
      this.$store.commit('collapseMenu')
    }
  1. 4b7f289edb0c453faa0d90a921c554e6.png
  2. fff9907ba3ee4ac7b77cf5205621b349.png
相关文章
|
2天前
|
JavaScript 前端开发
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
20 0
如何优雅的只在当前页面中覆盖ui库中组件的样式(vue的问题)
|
2天前
|
JavaScript 前端开发
vue element-ui分页插件 始终保持在页面底部样式
vue element-ui分页插件 始终保持在页面底部样式
36 0
|
2天前
|
JavaScript
Vue给Element UI的el-popconfirm绑定按钮事件
Vue给Element UI的el-popconfirm绑定按钮事件
|
2天前
|
JavaScript
vue element-ui中有关表格中的数据整条显示红色/绿色等等颜色的问题
vue element-ui中有关表格中的数据整条显示红色/绿色等等颜色的问题
31 1
|
2天前
|
JavaScript
vue中有关表格中的表格头中添加悬浮提示的ui问题
vue中有关表格中的表格头中添加悬浮提示的ui问题
20 1
|
2天前
|
资源调度 JavaScript
Vue + Element-ui组件上传图片报错问题解决方案
Vue + Element-ui组件上传图片报错问题解决方案
|
2天前
|
存储 JavaScript 前端开发
从入门到项目实战 - Vue 列表渲染
从入门到项目实战 - Vue 列表渲染
57 0
|
2天前
|
JavaScript
VUE里修改element-ui的显示层次与上下间隔
VUE里修改element-ui的显示层次与上下间隔
13 1
|
2天前
|
JavaScript 前端开发 开发者
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)
|
2天前
|
JavaScript
vue element ui 打开弹窗出现黑框问题
vue element ui 打开弹窗出现黑框问题
21 1