SSM整合项目(Vue3 + Element - Plus 创建项目基础页面)

文章目录

    • 1.配置Vue启动端口
        • 1.修改vue.config.js
        • 2.启动
    • 2.安装Element Plus
        • 命令行输入 `npm install element-plus --save`
    • 3.修改Vue3默认样式并自定义一个组件
        • 1.修改App.vue
          • 1.删除原有结构
          • 2.启动项目查看
        • 2.修改HomeView.vue
        • 3.删除HelloWorld.vue组件
        • 4.创建一个组件 src/components/Header.vue
          • 1.组件解释
          • 2.代码
        • 5.App.vue引入组件
        • 6.本阶段总结
    • 4.创建全局的global.css并引入
        • 1.目录
        • 2.代码
        • 3.解释
        • 4.在main.js引入
    • 5.main.js引入Element-Plus
        • 1.修改main.js
        • 2.测试Element-Plus是否生效
          • 1.打开Element-Plus官方文档,查找一个按钮组件
          • 2.放到App.vue中
          • 3.查看页面,报错
          • 4.尝试解决问题
            • 1.alt + enter安装组件
            • 2.但是报错
          • 5.重装nodejs
            • 1.这次存放在nodejs文件夹下,之前的文件夹是带中文括号的,不知道是不是这个原因
            • 2.配置IDEA的nodejs
            • 3.再次尝试运行,又报错,这次是解释器的问题
          • 6.配置一下IDEA的Node.js的解释器
          • 7.再次尝试安装,成功!
          • 8.启动项目,成功出现按钮
    • 6.显示个人信息和退出登录的下拉框
        • 1.需求分析
        • 2.去组件库找到下拉框的组件
        • 3.修改自定义组件src/components/Header.vue
        • 4.效果展示
    • 7.创建侧边栏并调整布局
        • 1.需求分析
        • 2.查找侧边栏组件
        • 3.粘贴到src/components/Aside.vue并修改
        • 4.修改App.vue引入Aside组件并布局
        • 5.在路由到的组件HomeView随便放入一个Element组件测试
        • 6.结果展示
    • 8.修改HomeView.vue添加斑马表格
        • 1.找到组件
        • 2.修改HomeView.vue
        • 3.结果展示
    • 9.Element-Plus国际化
        • 1.官方文档
        • 2.修改main.js进行国际化
        • 3.当表格没有数据时就是中文的暂无数据了
    • 10.从官网设置测试数据,并支持日期排序
        • 1.修改HomeView.vue
        • 2.data更新为中文数据
        • 3.结果展示
    • 11.添加相关的操作按钮和搜索框
        • 1.需求分析
        • 2.修改HomeView.vue
          • 1.增加按钮
          • 2.新增data绑定搜索框
        • 3.结果展示

1.配置Vue启动端口

1.修改vue.config.js
const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({
    transpileDependencies: true
})
module.exports = {
    devServer: {
        port: 9999 //启动端口
    }
}

2.启动

image-20240310091319021

2.安装Element Plus

命令行输入 npm install element-plus --save

image-20240310091915697

3.修改Vue3默认样式并自定义一个组件

1.修改App.vue
1.删除原有结构
<template>
  <div>

  </div>
</template>

<style>

</style>

2.启动项目查看

image-20240310092602015

2.修改HomeView.vue
<template>
  <div>

  </div>
</template>

<script>

export default {
  name: 'HomeView',
  components: {

  }
}
</script>

3.删除HelloWorld.vue组件

image-20240310092952626

4.创建一个组件 src/components/Header.vue
1.组件解释

image-20240310093749335

2.代码
<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>
<script>
export default {
  name: "Header"
}
</script>

<style scoped>

</style>
5.App.vue引入组件
<template>
  <div>
    <!--使用Header组件-->
    <Header></Header>
    Home页面
  </div>
</template>
<script>
//引入Header组件
import Header from "@/components/Header.vue";
//导出Header组件,当前Vue组件的名字为Layout
export default {
  name: "Layout",
  components: {
    Header
  }
}
</script>
<style>

</style>

image-20240310094743408

6.本阶段总结

image-20240310095102268

4.创建全局的global.css并引入

1.目录

image-20240310095411715

2.代码
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
3.解释

image-20240310095531357

4.在main.js引入

image-20240310095652205

5.main.js引入Element-Plus

1.修改main.js

image-20240310100053063

2.测试Element-Plus是否生效
1.打开Element-Plus官方文档,查找一个按钮组件

image-20240310100455302

2.放到App.vue中

image-20240310100540756

3.查看页面,报错

image-20240310100614632

4.尝试解决问题
1.alt + enter安装组件

2.但是报错

Cannot install Node.js module: D:\nodejs(14.17.3)\npm.cmd install element-plus --save Standard error: ‘D:\nodejs’ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���

5.重装nodejs
1.这次存放在nodejs文件夹下,之前的文件夹是带中文括号的,不知道是不是这个原因

image-20240310103124278

2.配置IDEA的nodejs

image-20240310103238891

3.再次尝试运行,又报错,这次是解释器的问题

Cannot install Node.js module: please specify default Node.js interpreter.

6.配置一下IDEA的Node.js的解释器

image-20240310103440030

7.再次尝试安装,成功!

image-20240310103521618

8.启动项目,成功出现按钮

image-20240310103555975

6.显示个人信息和退出登录的下拉框

1.需求分析

image-20240310103712371

2.去组件库找到下拉框的组件

image-20240310104217930

3.修改自定义组件src/components/Header.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">
      <el-dropdown>
    <span class="el-dropdown-link">
      Tom
    </span>
        <template #dropdown>
          <el-dropdown-menu>
            <el-dropdown-item>个人信息</el-dropdown-item>
            <el-dropdown-item>退出登录</el-dropdown-item>
          </el-dropdown-menu>
        </template>
      </el-dropdown>
    </div>
  </div>
</template>
<script>
export default {
  name: "Header"
}
</script>

<style scoped>

</style>
4.效果展示

image-20240310104318827

7.创建侧边栏并调整布局

1.需求分析

image-20240310104510630

2.查找侧边栏组件

image-20240310110323365

3.粘贴到src/components/Aside.vue并修改
<script setup>

</script>

<template>
<!--  引入导航菜单-->
  <div>
    <el-menu style="width: 200px"
        default-active="2"
        class="el-menu-vertical-demo"
    >
      <el-sub-menu index="1">
        <template #title>
          <el-icon><location /></el-icon>
          <span>导航一</span>
        </template>
        <el-menu-item-group title="组一">
          <el-menu-item index="1-1">选项一</el-menu-item>
          <el-menu-item index="1-2">选项二</el-menu-item>
        </el-menu-item-group>
        <el-sub-menu index="1-4">
          <template #title>选项四</template>
          <el-menu-item index="1-4-1">选项一</el-menu-item>
        </el-sub-menu>
      </el-sub-menu>
      <el-menu-item index="2">
        <el-icon><icon-menu /></el-icon>
        <span>导航二</span>
      </el-menu-item>
      <el-menu-item index="3" disabled>
        <el-icon><document /></el-icon>
        <span>导航三</span>
      </el-menu-item>
      <el-menu-item index="4">
        <el-icon><setting /></el-icon>
        <span>导航四</span>
      </el-menu-item>
    </el-menu>  </div>
</template>

<style scoped>

</style>
4.修改App.vue引入Aside组件并布局
<template>
  <div>
    <!--  布局-->
    <div>
      <!--header组件-->
      <Header/>
      <!--主体,弹性布局-->
      <div style="display: flex">
        <!--侧边栏-->
        <Aside/>
        <!--内容区域,这个部分通过路由来展示,这里路由到HomeView, flex: 1-->
        <!--这里路由的view默认是/也就是HomeView组件-->
        <router-view style="flex: 1"/>
      </div>
    </div>

  </div>
</template>
<script>
//引入Header组件
import Header from "@/components/Header.vue";
//引入Aside
import Aside from "@/components/Aside.vue";
//导出Header组件,当前Vue组件的名字为Layout
export default {
  name: "Layout",
  components: {
    Header,
    Aside
  }
}
</script>
<style>

</style>

5.在路由到的组件HomeView随便放入一个Element组件测试
<template>
  <div>
    <el-empty description="description" />
  </div>
</template>

<script>

export default {
  name: 'HomeView',
  components: {

  }
}
</script>

6.结果展示

image-20240310112806054

8.修改HomeView.vue添加斑马表格

1.找到组件

image-20240310113750353

2.修改HomeView.vue
<template>
  <div>
    <el-table :data="tableData" stripe style="width: 100%">
<!--      把width去掉,就会自适应-->
      <el-table-column prop="date" label="日期"/>
      <el-table-column prop="name" label="名字"/>
      <el-table-column prop="address" label="地址" />
    </el-table>
  </div>
</template>

<script>

export default {
  name: 'HomeView',
  components: {

  },
  //增加一个data,单项绑定tableData
  data() {
    return {
      tableData: [
        {
          date: '2016-05-03',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles',
        },
        {
          date: '2016-05-02',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles',
        },
        {
          date: '2016-05-04',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles',
        },
        {
          date: '2016-05-01',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles',
        },
      ]
    }
  }
}
</script>

3.结果展示

image-20240310113930703

9.Element-Plus国际化

1.官方文档

image-20240310114339565

2.修改main.js进行国际化

image-20240310114417103

3.当表格没有数据时就是中文的暂无数据了

image-20240310114440439

10.从官网设置测试数据,并支持日期排序

1.修改HomeView.vue

image-20240310135357448

2.data更新为中文数据

image-20240310135419200

3.结果展示

image-20240310135441807

11.添加相关的操作按钮和搜索框

1.需求分析

image-20240310140641584

2.修改HomeView.vue
1.增加按钮
<template>
  <div>
    <!--增加按钮和搜索框-->
    <!--magrin代表上下边距为10px,左右边距为5px-->
    <div style="margin: 10px 5px">
      <el-button type="primary">新增</el-button>
      <el-button>其他</el-button>
    </div>
    <!--再增加一个搜索框并设置边距-->
    <div style="margin: 10px 5px">
      <!--搜索框,双向绑定一个search-->
      <el-input v-model="search" style="width: 30%" placeholder="请输入关键字"/>
      <el-button type="primary">查找</el-button>
    </div>
    <el-table :data="tableData" stripe style="width: 90%">
      <!--把width去掉,就会自适应-->
      <el-table-column sortable prop="date" label="日期"/>
      <el-table-column prop="name" label="名字"/>
      <el-table-column prop="address" label="地址"/>
      <!--在表格的最后一列加入两个超链接-->
      <el-table-column fixed="right" label="操作" width="100">
        <template #default>
          <el-button type="text">编辑</el-button>
          <el-button type="text">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
2.新增data绑定搜索框

image-20240310141728537

3.结果展示

image-20240310141805634

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/447675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

介绍Kanzi

Linux开发过程中使用的Kanzi 是一个由 Rightware&#xff08;现为 Thundersoft 的一部分&#xff09;开发的跨平台图形用户界面&#xff08;GUI&#xff09;框架。它主要用于设计、开发和部署在计算机、移动设备和嵌入式设备上的2D和3D用户界面。Kanzi 提供了一个现代化的内容创…

GO语言-切片底层探索(上)

1.前言 今天在力扣上写算法&#xff0c;遇到了一个比较"奇怪"的错误。由于自己使用了递归切片&#xff0c;导致一开始没有看明白&#xff0c;直到在自己电脑上进行debug的时候才反应过来&#xff0c;原因出在了哪里&#xff1f;下面会先进行错误的分析和纠正&#x…

物理机win10怎么与虚拟机win10共享文件

打开win10虚拟机点击虚拟机选项安装vmTools 安装完成后系统会重启重启后关机 点击编辑虚拟机设置 选项、共享文件夹、总是启用 接下来点击添加选择你要共享的文件点击确定 打开虚拟机点击此电脑 就会看到共享的文件夹啦

python 导入excel空间三维坐标 生成三维曲面地形图 5-3、线条平滑曲面且可通过面观察柱体变化(三)

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata from matplotlib.c…

基于微信小程序的校园跑腿小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

SSM整合项目(添加家居)

文章目录 1.需求分析2.设计结构3.编写Service层1.创建文件夹2.FurnService.java3.FurnServiceImpl.java4.单元测试 FurnServiceTest.java5.指定默认图片位置1.Furn.java 为imgPath设置默认值2.Furn.java 的全参构造器内判断imgPath是否为空 4.返回json数据的通用类com/sun/furn…

【QT+QGIS跨平台编译】之七十:【QGIS_Analysis跨平台编译】—【qgsrastercalcparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…

C语言内存管理-数据段与代码段

数据段细分成如下几个区域&#xff1a; .bss 段&#xff1a;存放未初始化的静态数据&#xff0c;它们将被系统自动初始化为0.data段&#xff1a;存放已初始化的静态数据.rodata段&#xff1a;存放常量数据代码段细分成如下几个区域&#xff1a; .text段&#xff1a;存放用户代码…

南洋理工发布多模态金融交易Agent,平均利润提高36%!

金融市场是经济稳定的基石&#xff0c;它不仅促进了资本的分配&#xff0c;还提供了风险管理的机制。随着市场的不断演变&#xff0c;传统的基于规则的交易系统由于缺乏适应市场波动的能力而表现不佳。尽管基于强化学习的系统显示出更好的适应性&#xff0c;但它们在处理多模态…

LVGL:渐变方案

仿照qt的QGradient::Preset渐变类型写的&#xff0c;因为lvgl只支持水平/垂直渐变&#xff0c;且只支持两种颜色的渐变&#xff0c;所以有些类型的渐变未能实现&#xff0c;有些则缺少中间颜色。 代码&#xff1a; namespace Gradient { enum Preset {WarmFlame 1,NightFade…

allegro PCB设计心得笔记(二) -- ERROR(SPMHUT-144): Illegal arc specification

使用Allegro PCB Editor设计PCB&#xff0c;其中使用了中文丝印&#xff0c;设计完成后&#xff0c;进行Tools -> Database Check&#xff0c;提示如下错误&#xff1a; 对PCB文件进行反复检查&#xff0c;也没有找到具体问题&#xff0c;但是删除中文丝印封装后&#xff0c…

安卓玩机工具推荐----MTK芯片读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 前面做了两期教程。分别解析了下ADB端口与高通9008端口备份分区一些基础的常识&#xff0c;那么…

【Oracle之DataGuard的初步学习】

** 以下所有均是基于11G版本的 ** 一、DataGuard的部署方式 DG的部署最常用的方式就是直接在备库端部署一个空库然后再设置参数&#xff0c;但是这样做在初始同步时如果数据量过大会耗费较长的时间&#xff1b;相对来说这中方式比较简单不易出错。 还有一种方式就是通过rman的备…

okcc呼叫中心的客服代表应该具备哪些条件?

对每个企业管理者来说&#xff0c;选择最高效和最理想的呼叫中心提供商来简化他们的客户服务操作是一项关键工作内容。除了要确保提供商拥有处理这一重要任务所需的技术和资源之外&#xff0c;确定他们是否具备最高质量的合适人员来执行这项任务同样很重要。 客户服务代表是每…

多核多cluster多系统之间缓存一致性概述

目录 1.思考和质疑2.怎样去维护多核多系统缓存的一致性2.1多核缓存一致性2.2多Master之间的缓存一致性2.3dynamIQ架构同一个core中的L1和L2 cache 3.MESI协议的介绍4.ACE维护的缓存一致性5.软件定义的缓存和替换策略6.动图示例 本文转自 周贺贺&#xff0c;baron&#xff0c;代…

jvm八股

文章目录 运行时数据区域Java堆对象创建对象的内存布局对象的访问定位句柄直接指针 GC判断对象是否已死引用计数算法可达性分析算法 引用的类别垃圾收集算法分代收集理论标记清除算法标记复制算法标记整理算法 实现细节并发的可达性分析 垃圾收集器serial收集器ParNew收集器Par…

虾皮Shopee商品详情数据采集,item_get-根据ID取商品详情

Shopee&#xff08;虾皮&#xff09;是一个流行的东南亚电商平台&#xff0c;许多商家和开发者都对其商品详情数据感兴趣。为了采集Shopee上的商品详情数据&#xff0c;特别是根据商品ID获取商品详情&#xff0c;通常需要使用Shopee提供的API接口或者通过爬虫技术。然而&#x…

【Docker安装教程】Docker安装Redis详解

安装Redis前我们必须要保证Docker运行OK&#xff0c;如何安装Docker参考《CentOS 7 上的 Docker 安装与配置》 步骤 1: 拉取 Redis 镜像 首先&#xff0c;确保你已经安装了 Docker。然后&#xff0c;使用以下命令拉取最新的 Redis 镜像&#xff1a; docker pull redis](http…

强烈安利!FastReport 商业图形库,炫酷可视化报告开发首选~

FastReport Business Graphics .NET&#xff0c;是一款基于fastreport报表开发控件的商业图形库&#xff0c;借助 FastReport 商业图形库&#xff0c;您可以可视化不同的分层数据&#xff0c;构建业务图表以进行进一步分析和决策。利用数据呈现领域专家针对 .NET 7、.NET Core、…

微信小程序-分包

分包 1.什么是分包 分包指的是把一个完整的小程序项目&#xff0c;按照需求划分为不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 2.分包的好处 对小程序进行分包的好处主要有以下两点&#xff1a; 可以优化小程序首次启动的下载时间…