JavaWeb——Vue组件库Element(2/6):常见组件:Table表格、Pagination分页(介绍,属性,事件)

news2024/9/28 13:25:48

目录

常见组件-表格

介绍

属性

常见组件-分页

介绍

属性 

事件


了解完了 Element 的快速入门程序之后,接下来要了解 Element 当中所提供的一些常见组件。对于 Element 当中常见组件的学习非常简单,基本上就是 Ctrl+C 复制、Ctrl+V 粘贴的过程。学习每一个组件,只需参照 Element 的官方网站,找到对应的组件,查看组件的源代码,把源代码直接复制到 VS Code 的页面中,做一些简单调整,改成想要的样子。

常见组件-表格

介绍

首先讲解第一个常见组件——表格。表格用于展示数据,Element 提供了各式各样的表格,这些表格可以对其中的数据进行排序、筛选、对比等一系列操作。

  • Table表格:用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

打开 Element 的官方网站,找到“表格”这个组件,在左侧菜单栏找到“Table 表格”组件并点击。点击打开后,能看到各种各样的表格,有基础表格、带斑马纹的表格、带边框的表格、带状态的表格、固定表头的表格、固定列的表格等。

这里选择一个相对简单的带边框的表格为例。要使用的话,直接点击下面的“显示源代码”,点击后能看到表格的源代码。template 当中定义的就是 HTML 当中的一些标签,Element 所提供的组件都是以“el”开头,“el-table”代表的就是一个表格组件。

还需要复制源码当中定义的数据模型“data”,直接把数据模型当中这一块的内容复制过来,放在对象里声明一个数据模型,这样就在 Vue 当中定义了这样一个数据模型。 

<template>
  <div>
    <!-- Table 表格组件 -->
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="日期" width="180"> </el-table-column>
      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址"> </el-table-column>
    </el-table>
  </div>
</template>
<script>
export default {
  data() {
    return {
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
      ],
    };
  },
};
</script>
<style>
</style>

运行结果为:

属性

回过头来看复制过来的代码,复制过来了“el-table”标签,里面有属性“data”、“border”、“style”。如果不清楚这些属性的含义,可以直接打开 Element 的官网往下找,每个组件的最下面展示了组件的属性和方法。 

  • “data”属性代表要显示的数据,数据类型是一个数组,所以“data”指代表格所要展示的数据,就是下面定义的数组对象,数组里是一个一个的 JavaScript 对象。
  • “border”代表是否带有纵向边框
  • “style”用来设置样式
  • ...

下面定义了三个“el-table-column”标签,每个代表一列,有一个重要属性“prop”,代表这一列要展示对象当中的哪一个属性,比如第一列展示“data”属性,第二列展示“name”属性,第三列展示“address”属性,“label”指的是表头的名称。

常见组件-分页

介绍

介绍了表格组件之后,接下来介绍一个经常与表格结合在一起使用的组件——Pagination 分页组件。当表格的数据量过多时,一般会使用分页组件来分解数据,让数据一页一页展示出来。在很多网站,比如后台管理系统中都能见到分页条。

  • Pagination 分页:当数据量过多时,使用分页分解数据。

直接打开 Element 的官网找到分页组件,选择带有背景颜色的分页组件看效果,点击“显示代码”,把代码选中在 VS Code 中粘贴, 

<template>
  <div>
    <!-- Table 表格组件 -->
    <el-table :data="tableData" style="width: 50%">
      <el-table-column prop="date" label="日期" width="180"> </el-table-column>
      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址"> </el-table-column>
    </el-table>

    <!-- Pagination 分页组件 -->
    <el-pagination background layout="prev, pager, next" :total="1000">
    </el-pagination>
  </div>
</template>
<script>
export default {
  data() {
    return {
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
      ],
    };
  },
};
</script>
<style>
</style>

然后打开浏览器,在表格下面展示了分页条。

 

属性 

接下来看复制进来的分页组件加了哪些属性,第一个“background”,从属性名能看出跟背景有关,具体含义不清楚直接往下找对应的属性,

  • “background”代表是否为分页按钮添加背景颜色。
  • 第二个属性“layout”,“layout”指代组件的布局,子组件名用逗号分隔,可选值有“size”、“prev”、“pager”、“next”、“jumper”、“total”。

我们一个个测试,现在布局有“prev”“pager”“next”,接下来在前面加上“size”,后面加上逗号,再跟上“jumper”、“total”,打开浏览器,

前面加上了每页展示条数的选项,有上一页按钮、下一页按钮、页码、跳转多少页和总条数。

可以结合“layout”布局控制组件名字,从而控制各个组件排列的先后顺序,比如把总记录数放在第一位,直接把“total”移到最前面。

事件

介绍完 Pagination 分页组件当中的基本属性以后,还需要介绍一下这个分页组件当中的两个事件。把官方文档往下拉,看到下面有“event”,代表组件当中的事件,

主要介绍前两个事件,一个是“size-change”,代表每页展示记录数发生变化的时候触发,还有一个是“current-change”,代表当前页码发生变化的时候触发。

参照官方文档的写法,在附加功能点击“显示代码”,复制两个事件在 VS Code 的组件中粘贴换行。

定义了两个事件“size-change”和“current-change”。既然需要调用 Vue 当中的方法,就需要在下面定义这两个方法,编写与“data”平齐,在下面声明一个“methods”,“methods”当中定义方法,需要定义两个方法“handleSizeChange”和“handleCurrentChange”,两个方法之间加上逗号,再定义一个 function 函数。

这两个方法是可以接收参数的,在官方文档中有说明,“size-change”接收的参数是每页条数,“current-change”接收的参数是当前访问的页码。在这里接收一个参数叫“val”,然后用“alert”弹出警告框,输出相关提示。

调整代码,

<template>
  <div>
    <!-- Table 表格组件 -->
    <el-table :data="tableData" style="width: 50%">
      <el-table-column prop="date" label="日期" width="180"> </el-table-column>
      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址"> </el-table-column>
    </el-table>

    <!-- Pagination 分页组件 -->
    <el-pagination
      background
      layout="sizes,prev, pager, next,jumper,total"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :total="1000"
    >
    </el-pagination>
  </div>
</template>
<script>
export default {
  data() {
    return {
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
      ],
    };
  },
  methods: {
    handleSizeChange:function(val) {
      alert(`每页 ${val} 条`);
    },
    //可以直接省略function
    handleCurrentChange(val) {
      alert(`当前页: ${val}`);
    },
  },
};
</script>
<style>
</style>

然后再打开浏览器测试:


END 


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

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

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

相关文章

在 CentOS 8 服务器上运行 Selenium 代码

1.安装依赖包 sudo dnf update -y sudo dnf install -y wget unzip2. 安装 Google Chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo dnf localinstall google-chrome-stable_current_x86_64.rpm -y3. 安装 ChromeDriver 3.1首…

【深度学习】05-Rnn循环神经网络-01- 自然语言处理概述/词嵌入层/循环网络/文本生成案例精讲

循环神经网络&#xff08;RNN&#xff09;主要用于自然语言处理的。 循环神经网络&#xff08;RNN&#xff09;、卷积神经网络&#xff08;CNN&#xff09;和全连接神经网络&#xff08;FCN&#xff09;是三种常见的神经网络类型&#xff0c;各自擅长处理不同类型的数据。下面…

转做大模型开发,能不能挽救职业生涯?

大模型算是当之无愧最火的一个方向了&#xff0c;算是新时代的风口。有小伙伴觉得&#xff0c;既然是新领域、新方向&#xff0c;那么&#xff0c;人才需求肯定比较大&#xff0c;相应的人才缺乏&#xff0c;竞争也会更少&#xff0c;那转行去做大模型是不是一个更好的选择呢&a…

Leetcode 2320. 统计放置房子的方式数

原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 一条街道上共有 n * 2 个 地块 &#xff0c;街道的两侧各有 n 个地块。每一边的地块都按从 1 到 n 编号。每个地块上都可以放置一所房子。 现要求街道同一侧不能存在两所房子相邻的情况&#xff0c;请你计算并…

高并发内存池(五):ThreadCache、CentralCache和PageCache的内存回收机制 及 释放内存过程的调试

目录 ThreadCache的内存回收机制 补充内容1 补充内容2 补充内容3 新增关键函数ListTooLong CentralCache的内存回收机制 补充内容1 新增关键函数MapObjectToSpan 新增关键函数ReleaseListToSpans PageCache的内存回收机制 补充内容1 补充内容2 新增关键函数Releas…

初试React前端框架

文章目录 一、React概述二、React核心特性1、组件化设计2、虚拟DOM3、生态系统 三、实例操作1、准备工作2、创建项目结构3、启动项目4、编写React组件5、添加React样式6、运行项目&#xff0c;查看效果 四、实战小结 一、React概述 大家好&#xff0c;今天我们将一起探索React…

c语言 memmove模拟和momcpy模拟的比较

1.memcpy&#xff08;两者引用的头文件均是<stdlib.h>) 这个函数适用于开辟了两个空间的字符串数组&#xff0c;无法进行自身与自身的拷贝。eg: char* my_memcpy(void* s1, void* s2,int count) {char* start s1;while (count--) {*(char*)s1 *(char*)s2;(char*)s1 …

windows10使用bat脚本安装前后端环境之nginx注册服务

首先需要搞清楚nginx本地是怎么安装配置的、然后在根据如下步骤编写bat脚本&#xff1a; 思路 1.下载nginx-1.26 zip压缩包安装包 2.调整conf配置 3.借助winsw将nginx应用注册为服务&#xff0c;winsw下载地址 然后重命名nginx_service.exe 4.配置nginx-service.xml 5.注册wi…

【运维资料】系统运维管理方案(Doc原件2024)

1 编制目的 2 系统运行维护 2.1 系统运维内容 2.2 日常运行维护方案 2.2.1 日常巡检 2.2.2 状态监控 2.2.3 系统优化 2.2.4 软件系统问题处理及升级 2.2.5 系统数据库管理维护 2.2.6 灾难恢复 2.3 应急运行维护方案 2.3.1 启动应急流程 2.3.2 成立应急小组 2.3.3 应急处理过程 …

【数据结构】栈和队列(有完整的模拟实现代码!)

1、栈 1.1 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。…

爬取元气手机壁纸简单案例(仅用于教学,禁止任何非法获利)

爬虫常用的库 爬虫&#xff08;Web Scraping&#xff09;是一种从网页上提取数据的技术。在 Python 中&#xff0c;有许多库可以帮助实现这一目标。以下是一些常用的爬虫库&#xff0c;以及对 BeautifulSoup 的详细介绍。 常用爬虫库 1.Requests ​ a.功能&#xff1a;用于发…

利用 Llama-3.1-Nemotron-51B 推进精度-效率前沿的发展

今天&#xff0c;英伟达™&#xff08;NVIDIA&#xff09;发布了一款独特的语言模型&#xff0c;该模型具有无与伦比的准确性和效率性能。Llama 3.1-Nemotron-51B 源自 Meta 的 Llama-3.1-70B&#xff0c;它采用了一种新颖的神经架构搜索&#xff08;NAS&#xff09;方法&#…

MySQL的安装(环境为CentOS云服务器)

卸载内置环境 我们初期使用root账号&#xff0c;后期再切换成普通账号 使用 ps axj | grep mysql 查看系统中是否有MySQL相关的进程 使用 systemctl stop mysqld 关停进程 使用 rpm -qa | grep mysql 查看MySQL相关的安装包 使用 rpm -qa | grep mysql | xargs yum -y remo…

试用Debian12.7和Ubuntu24.4小札

Debian GNU/Linux 12 (bookworm)和Ubuntu 24.04.1 LTS是现阶段&#xff08;2024年9月26日&#xff09;两个发行版的最新版本。Ubuntu Server版本默认就不带桌面&#xff08;ubuntu-24.04-live-server-amd64.iso&#xff09;&#xff0c;这个默认就是最小化安装&#xff08;安装…

长芯微LPQ76930锂电池组保护芯片完全P2P替代BQ76930

LPQ76930系列芯片可作为 3-15 节串联电池组监控和保护解决方案的一部分。通过 TWI 通信&#xff0c;MCU 可以使用 LPQ76930 来执行电池管理功能1&#xff0c;例如监测&#xff08;电池电压、电池 组电流、电池组温度&#xff09;、保护&#xff08;控制充电/放电 FET&#xff0…

java中的强软弱虚

在java中对象的引用有强、软、弱、虚四种&#xff0c;这些引用级别的区别主要体现在对象的生命周期、回收时机的不同。 文章目录 准备工作1. 设置内存2. 内存检测 强引用软引用弱引用虚引用 准备工作 1. 设置内存 为方便调试&#xff0c;将内存设置为16MB 依次点击菜单栏的R…

springboot基于学习行为的学生选课成绩分析系统设计与实现

目录 功能介绍使用说明系统实现截图开发核心技术介绍&#xff1a;开发步骤编译运行核心代码部分展示开发环境需求分析详细视频演示源码获取 功能介绍 学生 课程学习行为数据录入: 学生填写每门课程的学习时长、学习态度、课后作业质量等。 课程学习行为数据修改: 学生可修改已…

基于SpringBoot+Vue的大学生公考服务平台

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

php 平滑重启 kill -SIGUSR2 <PID> pgrep命令查看进程号

有时候我们使用nginx 大家都知道平滑重启命令: /web/nginx/sbin/nginx -s reload 但大家对php-fpm 重启 可能就是简单暴力的kill 直接搞起了 下面介绍一个sh 文件名保存为start_php.sh 来对php-fpm 进行平滑重启 #!/bin/bash# 检查 PHP-FPM 是否运行 if ! pgrep php-…

JAVA开源项目 技术交流分享平台 计算机毕业设计

本文项目编号 T 053 &#xff0c;文末自助获取源码 \color{red}{T053&#xff0c;文末自助获取源码} T053&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…