SSM-使用vue3+elementPlus搭建基础界面

配置Vue服务端口

在vue.config.js文件添加如下内容:

module.exports = {
  devServer:{
    port:10000 // 启动端口
  }
}

构建Header

  1. 修改App.vue
    • 清空<style>、标签里面的所有的内容,仅保留标签
  2. 修改HomeView
  3. 删除HelloWorld.vue。
  4. 创建自己的vue组件。
<template>
  <div style="height: 50px;line-height:50px;border-bottom:1px solid #ccc;display:flex">
    <div style="width:200px;padding-left:30px;font-weight:bold;color:dodgerblue">后台管理</div>
    <div style="flex: 1"></div>
    <div style="width:100px">下拉框</div>
  </div>
</template>

flex: 1布局说明
5. 在App.vue进行引用

<template>
  <div>
    <Header/>
    Home页面
  </div>
</template>

<script>
  import Header from "@/components/Header";
  export default{
    name:"Layout",
    components:{
      Header
    }
  }
</script>

  1. 创建全局global.css。全局样式写在这里。
    位置:assets,用于存放资源文件。assets/css/global.css
    关于布局的盒模型说明

  2. main.js用于引入资源(css/组件等),同时也是创建App挂载#app,引入./router ./store等资源的所在

  • 引入css
import '@/assets/css/global.css'
  1. main.js导入ElementPlus
  • 引入ElementPlus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
app.use(ElementPlus)
  1. App.vue引入一个el-button,测试是否生效
    选择一个基础组件
<el-button>Default</el-button>
  • 报错。是因为还没有安装element-plus,安装即可。
 error  in ./src/main.js
Module not found: Error: Can't resolve 'element-plus'
  • 解决方法:Install ‘element-plus’
    在这里插入图片描述

  1. 引入下拉框。放到Header.vue里面
    Dropdown下拉菜单
<el-dropdown>
    <span class="el-dropdown-link">
      Dropdown List
      <el-icon class="el-icon--right">
        <arrow-down />
      </el-icon>
    </span>
    <template #dropdown>
      <el-dropdown-menu>
        <el-dropdown-item>Action 1</el-dropdown-item>
        <el-dropdown-item>Action 2</el-dropdown-item>
        <el-dropdown-item>Action 3</el-dropdown-item>
        <el-dropdown-item disabled>Action 4</el-dropdown-item>
        <el-dropdown-item divided>Action 5</el-dropdown-item>
      </el-dropdown-menu>
    </template>
  </el-dropdown>

构建侧边栏

<el-menu
        default-active="2"
        class="el-menu-vertical-demo"
        @open="handleOpen"
        @close="handleClose"
      >
        <el-sub-menu index="1">
          <template #title>
            <el-icon><location /></el-icon>
            <span>Navigator One</span>
          </template>
          <el-menu-item-group title="Group One">
            <el-menu-item index="1-1">item one</el-menu-item>
            <el-menu-item index="1-2">item two</el-menu-item>
          </el-menu-item-group>
          <el-menu-item-group title="Group Two">
            <el-menu-item index="1-3">item three</el-menu-item>
          </el-menu-item-group>
          <el-sub-menu index="1-4">
            <template #title>item four</template>
            <el-menu-item index="1-4-1">item one</el-menu-item>
          </el-sub-menu>
        </el-sub-menu>
        <el-menu-item index="2">
          <el-icon><icon-menu /></el-icon>
          <span>Navigator Two</span>
        </el-menu-item>
        <el-menu-item index="3" disabled>
          <el-icon><document /></el-icon>
          <span>Navigator Three</span>
        </el-menu-item>
        <el-menu-item index="4">
          <el-icon><setting /></el-icon>
          <span>Navigator Four</span>
        </el-menu-item>
      </el-menu>
  1. 布局:App.vue将页面分成三个部分,头部Header,主体(又分为侧边栏,内容区域(表格))
<template>
  <div>
    <Header/>
    
    <!--主体-->
    <!--侧边栏-->
    <div style="display: flex">
      <Aside/>
      <!--内容区域:是从HomeView.vue组件来的-->
      <router-view style="flex:1"/>
    </div>
  </div>
</template>

导入Aside

import Aside from "@/components/Aside";
export default{
components:{
      Aside
      }
 }
  1. HomeView.vue添加一个el-button进行测试
<div>
    <el-button type="primary">我的按钮</el-button>
  </div>

14. 主页面,三段式结构已完成


  1. 完善主页面,导航栏宽度
    style=“width:200px”
  2. 内容区域HomeView.vue,引入表格,数据将来由后端提供
    选择表格样式
  <el-table :data="tableData" stripe style="width: 100%">
    <el-table-column prop="date" label="Date" width="180" />
    <el-table-column prop="name" label="Name" width="180" />
    <el-table-column prop="address" label="Address" />
  </el-table>
填充案例Data,测试效果
export default {
  name: 'HomeView',
  components: {

  },
  data(){
    return {
      tableData:[
       {
          date:'2021-05-02',
          name:'王小虎',
          address:'上海市普陀区金沙江路1518弄',
      },
      {
          date:'2021-05-04',
          name:'王小虎',
          address:'上海市普陀区金沙江路1517弄',
      },
      {
          date:'2021-05-01',
          name:'王小虎',
          address:'上海市普陀区金沙江路1519弄',
      },
      ]
    }
  }
}
  1. main.js配置国际化
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
//重复的地方,合并到一个里面
app.use(ElementPlus, {
  locale: zhCn,
})
  1. 测试数据,排序日期。在需要排序的列,加入属性sortable即可。会发现标签旁边多了个上下箭头,点击即可排序。
<el-table-column sortable prop="date" label="日期" />
  1. 增加"新增"、“其他”按钮和"搜索框"。HomeView.vue
 <div>
      <el-button type="primary">新增</el-button>
      <el-button>其他</el-button>
</div>

搜索框

    <div style="margin:10px 5px">
      <el-input v-model="search" style="width:30%" placeholder="请输入关键字" />
      <el-button style="margin-left:10px" type="primary">搜索</el-button>
    </div>
  1. 表格增加“编辑”和“删除”固定列
    添加到HomeView.vue列属性的最后一列
      <el-table-column fixed="right" label="操作" width="120">
        <template #default>
          <el-button type="text" >编辑</el-button>
          <el-button type="text" >删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  1. 数据池中添加"search",避免v-model报错
data(){
    return {
      search:' ',
      }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值