JavaWeb——Vue组件库Element(5/6):案例:组件实现(概述、Form表单、Table表格、Pagination 分页、效果展示、完整代码)

news2024/11/25 22:52:59

目录

概述

Form表单

Table表格 

Pagination 分页

效果展示

完整代码


概述

在刚才制作出来的页面当中,上面项目的名称已制作好,左侧的菜单栏也已配置好。

接下来主要处理的是右侧主展示区域当中的组件编写。

在右侧的主展示区域,主要有 3 个组件。上方有一个表单组件,这个表单用来收集用户输入的查询条件。中间一块是一个表格,表格的下面是有一个分页条。 

所以接下来,我们需要在表格的上面增加一个 Form 表单,在表格的下面增加一个分页条。而这个表单是在一行当中展示的。接下来,我们就参照 Element 所提供的组件进行改造。 

Form表单

先打开 VS Code,看一下表单应放在哪个位置。

主展示区域是这个 el-main,这里已有一个 el-table 表格。刚才提到,在表格的上方应该有一个表单,所以应在这个表格的上方增加一个 Form 表单。我们打开 Element 的官网,找到表单的源代码拿来改造。

之前提到过,行内表单是指将表单项放在一行当中展示,这正是我们需要的。此时直接点击显示代码,将里面的代码用 Ctrl+C 复制,在相应位置 Ctrl+V 粘贴过来,对格式稍微做规整即可。

复制过来的这个表单当中只有两个表单项和一个查询按钮,表单中的表单项数据绑定到一个数据模型叫做 formInline 当中,这个名字可读性不强,我们改造为 searchForm,所有表单项都绑定到 searchForm 这个对象当中。

上面通过 v-model 绑定了数据模型,这个数据模型必须在下面声明,它是一个对象,里面两个属性,一个是 name,一个是 gender。所以在下面,在数据模型当中定义这个对象,对象使用大括号,一个是 name 代表姓名,一个是 gender 代表性别。这样数据模型就定义好了。 

然后再往上看,下面点击查询时会触发一个方法 onSubmit,接下来在下面定义一个 view 当中的方法 methods,在 methods 当中定义一个方法 onSubmit,点击提交时会触发这个方法,在这个方法中可以直接 alert 一个提示信息,代表要查询数据了。Form 表单的基本结构就准备好了。

接下来打开浏览器看效果,有两个表单项,一个姓名一个性别,性别是下拉框,有男有女。

接下来,表单中除了姓名性别,还有一个入职日期。这个表单项是入职日期,其体现形式不是输入框,而是日期选择器,这里不能再使用简单的 el-form,需要使用日期选择器。

还要绑定属性值:

这样,上面的表单就完善好了

Table表格 

中间的表格部分,我们之前已制作好,可以再为表格加上一个边框,使其看起来更好看,在Table当中增加一个属性 border 即可。

Pagination 分页

接下来,在表格的下面增加一个分页条,在这个位置增加一个分页条,分页条之前用到过,可以直接将之前制作的分页条的内容用 Ctrl+C、Ctrl+V 复制过来,

里面还有两个方法需要复制过来,一个是 handleSizeChange,一个是 handleCurrentChange,直接复制过来,在最下面粘贴即可。

效果展示

接下来再次打开浏览器,会看到上面的表单、中间的表格以及下面的分页条已经展示出来。

表格和分页条之间比较拥挤,可以在中间加上一个简单的换行解决这个问题。

由于当前表格中没有数据,所以会展示在一起,等将数据动态加载返回后,就不会存在这个问题了。这就是第二步操作,完成各个部分的组件实现。

完整代码

项目内部文件:EmpView.vue

<template>
  <div>
    <el-container style="height: 700px; border: 1px solid #eee">
      <el-header style="font-size: 40px; background-color: rgb(238, 241, 246)"
        >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tlias 智能学习辅助系统</el-header
      >
      <el-container>
        <el-aside width="200px">
          <el-menu :default-openeds="['1', '3']">
            <el-submenu index="1" style="background-color: rgb(215, 215, 215)">
              <template slot="title"><i class="el-icon-message"></i>系统信息管理 &nbsp;&nbsp; >></template>

              <el-menu-item index="1-1">部门管理</el-menu-item>
              <el-menu-item index="1-2">员工管理</el-menu-item>
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <!-- 表单 -->
          <el-form :inline="true" :model="searchForm" class="demo-form-inline">
            <el-form-item label="姓名">
              <el-input v-model="searchForm.name" placeholder="姓名"></el-input>
            </el-form-item>

            <el-form-item label="性别">
              <el-select v-model="searchForm.gender" placeholder="性别">
                <el-option label="男" value="1"></el-option>
                <el-option label="女" value="2"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="onSubmit">查询</el-button>
            </el-form-item>

            <el-form-item label="入职日期">
              <el-date-picker
                v-model="searchForm.entryDate"
                type="daterange"
                range-separator="至"
                start-placeholder="开始日期"
                end-placeholder="结束日期">
              </el-date-picker>
            </el-form-item>
          </el-form>

          <!-- 表格 -->
          <el-table :data="tableData" border>
            <el-table-column prop="name" label="姓名" width="180"></el-table-column>
            <el-table-column prop="image" label="图像" width="180"></el-table-column>
            <el-table-column prop="gender" label="性别" width="140"></el-table-column>
            <el-table-column prop="job" label="职位" width="140"></el-table-column>
            <el-table-column prop="entryDate" label="入职日期" width="180"></el-table-column>
            <el-table-column prop="updateTime" label="最后操作时间" width="230"></el-table-column>
            <el-table-column label="操作">
              <el-button type="primary" size="mini">编辑</el-button>
              <el-button type="danger" size="mini">删除</el-button>
            </el-table-column>
          </el-table>
          <br />
          <!-- 分页条 -->
          <el-pagination
            background
            layout="total,sizes,prev, pager, next,jumper"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :total="1000">
          </el-pagination>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [],
      searchForm: {
        name: "",
        gender: "",
        entryDate: [],
      },
    };
  },
  methods: {
    onSubmit: function () {
      alert("查询数据");
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
    },
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
    },
  },
};
</script>

<style>
</style>

END 


学习自:黑马程序员——JavaWeb课程 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】多肽

目录 一 多肽定义 1. 多肽的构成条件 1 例一 2 例二 2. 虚函数 3. 虚函数重写的两个意外 1 协变 2 析构函数的重写 二 关键字override 和 final 1. final 2.override 三 三重对比 1. 练习 四 多肽的原理 1. 多肽调用和普通调用 2.虚函数表 3. 分析 4. 原理 …

【web安全】——文件包含漏洞

1. 文件包含基础 和SQL注入等攻击方式一样&#xff0c;文件包含漏洞也是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行。 1.1. 文件包含简介 什么叫包含呢&#xff1f;以PHP为例&#xff0c;我们常常把可重复使用的函…

【CKA】十二、持久化存储卷PersistentVolume

12、持久化存储卷PersistentVolume 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 按题目要求检查各个参数&#xff0c;我就是第一次没看清楚&#xff0c;把ReadWriteOnce写成ReadWriteMany了&#xff0c;幸亏做完检查了一遍 这个参数可有可无&#xff0c;加上也不影响 …

【Go语言】Ergo:构建分布式系统的现代化 Erlang 框架

Ergo 是一个基于 Go 语言的开源框架&#xff0c;专门用于构建分布式系统。它为开发人员提供了与 Erlang/OTP 类似的编程模型和功能。Ergo 通过将 Erlang 的强大分布式并发编程模型带入 Go 语言的生态中&#xff0c;使得开发者能够轻松创建高度可靠、可扩展的分布式应用程序。 …

NumPy 第三课 -- Ndarray 对象

NumPy 最重要的一个特点是其 N 维数组对象 ndarray&#xff0c;它是一系列同类型数据的集合&#xff0c;以 0 下标为开始进行集合中元素的索引。 ndarray 对象是用于存放同类型元素的多维数组。 ndarray 中的每个元素在内存中都有相同存储大小的区域。 ndarray 内部由以下内…

CMU 10423 Generative AI:lec15(Scaling Laws 大规模语言模型的扩展法则)

文章目录 一 概述1. **扩展规律的背景**2. **两种主要的扩展规律**3. **模型容量扩展规律**4. **信息论下界**5. **计算扩展规律**6. **训练高效性**7. **结论与启示** 二 2bit/parameter 概念&#xff08;模型的存储能力分析&#xff09;**1. 概念解释****2. 图表解读****3. 量…

基于SpringBoot+Vue+MySQL的校园招聘管理系统

系统展示 用户前台界面 管理员后台界面 公司后台界面 系统背景 随着高等教育的普及和就业市场的竞争加剧&#xff0c;校园招聘成为了连接学生与企业的关键桥梁。然而&#xff0c;传统的校园招聘流程繁琐、效率低下&#xff0c;且信息更新不及时&#xff0c;给企业和求职者带来了…

Leetcode: 0041-0050题速览

Leetcode: 0041-0050题速览 本文材料来自于LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer&#xff08;第 2 版&#xff09;》、《程序员面试金典&#xff08;第 6 版&#xff09;》题解 遵从开源协议为知识共享 版权归属-相同方式…

CycleGAN图像风格迁移互换

tutorials/application/source_zh_cn/generative/cyclegan.ipynb MindSpore/docs - Gitee.com 本案例运行需要较大内存&#xff0c;建议在Ascend/GPU上运行。 模型介绍 模型简介 CycleGAN(Cycle Generative Adversarial Network) 即循环对抗生成网络&#xff0c;来自论文 U…

【Java】—— 集合框架:Collection子接口:Set不同实现类的对比及使用(HashSet、LinkedHashSet、TreeSet)

目录 5. Collection子接口2&#xff1a;Set 5.1 Set接口概述 5.2 Set主要实现类&#xff1a;HashSet 5.2.1 HashSet概述 5.2.2 HashSet中添加元素的过程&#xff1a; 5.2.3 重写 hashCode() 方法的基本原则 5.2.4 重写equals()方法的基本原则 5.2.5 练习 5.3 Set实现类…

map部分重点

1.map的方括号 给key,返回value的引用&#xff0c;如果没有key&#xff0c;就插入一个key,无参构造的value的pair<> 适用&#xff1a;没有就插入&#xff0c;有就拿找到的值 insert返回pair<iterator,bool>,[]返回值 #include<iostream> #include<map&…

更美观的HTTP性能监测工具:httpstat

reorx/httpstat是一个旨在提供更美观和详细HTTP请求统计信息的cURL命令行工具&#xff0c;它能够帮助开发者和运维人员深入理解HTTP请求的性能和状态。 1. 基本概述 项目地址&#xff1a;https://github.com/reorx/httpstat语言&#xff1a;该工具主要是以Python编写&#xff…

偏标记学习+图像分类(论文复现)

偏标记学习图像分类&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 偏标记学习图像分类&#xff08;论文复现&#xff09;概述算法原理核心逻辑效果演示使用方式 概述 本文复现论文提出的偏标记学习方法&#xff0c;随着深度神经网络的发…

异常场景分析

优质博文&#xff1a;IT-BLOG-CN 为了防止黑客从前台异常信息&#xff0c;对系统进行攻击。同时&#xff0c;为了提高用户体验&#xff0c;我们都会都抛出的异常进行拦截处理。 一、异常处理类 Java把异常当做是破坏正常流程的一个事件&#xff0c;当事件发生后&#xff0c;…

CMU 10423 Generative AI:lec16(Mixture of Experts 混合专家模型)

关于MoE推荐博客&#xff1a; https://huggingface.co/blog/zh/moehttps://www.paddlepaddle.org.cn/documentation/docs/zh/guides/06_distributed_training/moe_cn.html 1 概述 这个文档是关于Mixture of Experts (MoE) 的介绍和实现&#xff0c;主要内容如下&#xff1a;…

virtualbox配置为NAT模式后物理机和虚拟机互通

virtualbox配置为 NAT模式后&#xff0c;虚拟机分配到的 IP地址一般是 10.xx网段的&#xff0c;虚拟机可以通过网络地址转换访问物理机所在的网络&#xff0c;但若不做任何配置&#xff0c;则物理机无法直接访问虚拟机。 virtualbox在提供 NAT配置模式时&#xff0c;也提供了端…

深度学习:CycleGAN图像风格迁移转换

基础概念 CycleGAN是一种GAN的变体&#xff0c;它被设计用来在没有成对训练数据的情况下学习两种不同域之间的图像到图像的转换&#xff0c;不需要同一场景或物体在两个不同域中的对应图像。 CycleGAN由Jun-Yan Zhu等人在2017年提出。 CycleGAN的模型架构主要由两组生成器和…

mac配置python出现DataDirError: Valid PROJ data directory not found错误的解决

最近在利用python下载SWOT数据时出现以下的问题&#xff1a; import xarray as xr import s3fs import cartopy.crs as ccrs from matplotlib import pyplot as plt import earthaccess from earthaccess import Auth, DataCollections, DataGranules, Store import os os.env…

CSS3--美开二度

免责声明&#xff1a;本文仅做分享&#xff01; 目录 定位 相对定位 绝对定位 定位居中 固定定位 堆叠层级 z-index 定位-小结 CSS 精灵 京东案例 字体图标 下载字体 使用字体 上传矢量图 CSS 修饰属性 垂直对齐方式 vertical-align 过渡 transition 透明度 opa…

【西门子V20变频器】 变频器运行时报A922报警

报警说明 原因&#xff1a; 1.变频器未接负载 2.变频器设定的电机参数与实际电机不匹配 3.查看P2179查看 无负载监控 设定的电流极限值&#xff0c;出厂默认为“3.0”