利用vue实现树表格分页

article/2025/9/18 1:52:58

目录

1. 准备工作

2. 动态树

2.1 在配置请求路径

2.2 使用动态数据构建导航菜单

2.2.1 通过接口获取数据

2.2.3 通过后台获取的数据构建菜单导航

2.3 点击菜单实现路由跳转

2.3.1 创建书本管理组件

2.3.2 配置路由

2.3.3 修改LeftAside组件

2.3.4 修改Main组件

3. 系统首页配置

4. 表格数据显示

4.1 页面布局

4.2 查询并在表格中显示数据

4.3 实现分页


1. 准备工作

  1. 创建测试数据库
  2. 准备好后台服务接口,Moudel查询,和Book查询(支持分页)
  3. 后台单元测试
  4. 修改vue配置,使用真实环境

2. 动态树

2.1 在配置请求路径

在src/api/action.js中配置获取动态树数据的请求路径

export default {//服务器'SERVER': 'http://localhost:8080/webserver',//登陆请求'SYSTEM_USER_DOLOGIN': '/userMsg/userAction!login.action', //登陆//获取动态树数据请求'SYSTEM_MODULE_REQ': '/sysMsg/sysMsgAction!getModules.action',//获取完整的请求地址'getFullPath': k => { //获得请求的完整地址,用于mockjs测试时使用return this.SERVER + this[k];}}

2.2 使用动态数据构建导航菜单

2.2.1 通过接口获取数据

LeftAside.vue:

    //声明周期钩子函数,此时的Vue实例已经创建,且data和methods已经创建,但没有开始编译模板//利用该钩子函数获取动态树数据created: function() {let url = this.axios.urls.SYSTEM_MODULE_REQ;this.axios.get(url, {}).then(resp => {//在data中声明moduleDatas数组,接收返回的数据,以便于在template中使用数据双向绑定this.moduleDatas = resp.data;console.log(resp.data);}).catch(resp => {});//登录成功后默认显示系统首页this.$router.push("/Home");}

测试,通过控制台查看数据是否正常获取:

2.2.3 通过后台获取的数据构建菜单导航

2.2.3.1 先构建一级导航菜单

LeftAside.vue:

    <el-submenu v-for="(m1) in moduleDatas" :key="m1.id" :index="'index_'+m1.id"><template slot="title"><i :class="m1.icon"></i><span slot="title">{{m1.text}}</span></template></el-submenu>

页面效果:

2.2.3.2 构建二级导航菜单

LeftAside.vue:

      <!--使用v-for生成二级导航菜单,index为功能url值,二级菜单为叶子节点,为具体功能的功能菜单,所以url一定有值(一级菜单的url为空)。测试数据二级菜单没有分组,所以不用el-menu-item-group,只要生成el-menu-item即可。--><el-menu-item v-for="m2 in m1.childrens" :key="m2.id" :index="m2.url"><span>{{m2.text}}</span></el-menu-item>

页面效果:

2.3 点击菜单实现路由跳转

2.3.1 创建书本管理组件

t_module_vue表中已经配置了功能url,为方便,将书本管理组件定义为BookList。如果使用其他名字则需要修改功能url配置,保持一致。

2.3.2 配置路由

2.3.3 修改LeftAside组件

2.3.4 修改Main组件

3. 系统首页配置

首先创建一个首页组件

在Main组件中指定的<router-view/>是用于显示各功能组件的。

配置路由:

配置首页菜单:

菜单图标可以到官网去查找。

设置登录成功后默认显示系统首页:

    <!--设置首页菜单及其图标,index设置的是Home组件的path--><el-menu-item key="home" index="/Home"><i class="el-icon-s-home"></i><span>首页</span></el-menu-item>

4. 表格数据显示

4.1 页面布局

页面上使用的面包屑,查询条件,表格,分页等空间,可以查看element-ui官网。该步骤主要关注页面布局,并没有绑定数据,编写完成后,观察页面效果。
BookList.vue:

<template><div style="margin-left: 15px; margin-right: 15px;"><!--面包屑--><el-breadcrumb style="margin-top:15px;" separator="/"><el-breadcrumb-item :to="{path: '/Home'}">首页</el-breadcrumb-item><el-breadcrumb-item>书本管理</el-breadcrumb-item></el-breadcrumb><!--查询条件--><el-form style="margin-top: 15px;" :inline="true" class="demo-form-inline"><el-form-item label="书名"><el-input placeholder="书名"></el-input></el-form-item><el-form-item><el-button type="primary">查询</el-button><el-button type="primary">新增</el-button></el-form-item></el-form><!--表格--><el-table style="width: 100%;" :border="true" max-height="550"><el-table-column prop="id" label="编号" min-width="40" align="center"></el-table-column><el-table-column prop="bookname" label="名称" min-width="100" align="center"></el-table-column><el-table-column prop="price" label="价格" min-width="70" align="center"></el-table-column><el-table-column prop="booktype" label="类型" min-width="70" align="center"></el-table-column></el-table><!--分页--><div class="block" style="text-align:right;margin-top:10px;"><el-pagination:page-sizes="[10, 20, 30, 40]":page-size="100"layout="total, sizes, prev, pager, next, jumper":total="400"></el-pagination></div></div>
</template>

4.2 查询并在表格中显示数据

先不考虑分页,从后台接口获取数据并绑定到表格显示。

  1. 将查询书本信息的接口配置到api/action.js中
//获取书本信息'BOOKMSG_BOOKINFO_REQ':'/bookMsg/bookAction!getBooks.action',
  1. BookList.vue组件
    图一: template部分:

图二: script部分

  export default {name: 'BookList',data: function() {return {bookname: '',books: []}},methods: {qry: function() {let url = this.axios.urls.BOOKMSG_BOOKINFO_REQ;this.axios.post(url, {bookname: this.bookname}).then(resp => {console.log(resp);this.books = resp.data.data;}).catch(error => {console.log(error);});}}}

4.3 实现分页

template部分:

    <!--分页--><div class="block" style="text-align:right;margin-top:10px;"><!--@size-chang: 定义在每页显示的记录数变化时的处理函数@current-change:当前页码发生变化时的处理函数,如点击页码或输入一个特定页码。:current-page:指定当前页,:page-size:每页显示的记录数layout: 布局,可以通过调整该项来调整显示内容:total: 总记录数--><el-pagination background@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="page":page-sizes="[10, 20, 30, 40]":page-size="rows" layout="total, sizes, prev, pager, next, jumper":total="total"></el-pagination></div>

script部分,图一

      qry: function() {let url = this.axios.urls.BOOKMSG_BOOKINFO_REQ;this.axios.post(url, {bookname: this.bookname,//分页参数page: this.page,rows: this.rows}).then(resp => {console.log(resp);this.books = resp.data.data;//获取总页数this.total = resp.data.total;}).catch(error => {console.log(error);});}

script部分,图二:

      //当每页显示的记录数发生变化时,设置当前页码为1,执行查询。handleSizeChange: function(rows) {this.rows = rows;this.page = 1;this.qry();},//当前页码发生变化时,执行查询handleCurrentChange: function(page) {this.page = page;this.qry();}


http://chatgpt.dhexx.cn/article/a9RpfRjh.shtml

相关文章

Layui 表格分页控件

分页模块 – layui.laypage layPage 致力于提供极致的分页逻辑,既可轻松胜任异步分页,也可作为页面刷新式分页。 快速使用 laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染: 基础参数选项 通过核心方法:laypage.rende…

ant design pro表格分页

需要用到表格的配置项pagination pagination{{ showQuickJumper:true, showTotal:function(total, range){ return( 共total条 ) } }} 效果&#xff1a; 这样可以选择跳转到某个页面&#xff0c;如果如数的数值大于最后一页&#xff0c;那么将跳转到最后一页&#xf…

Thinkphp+layui数据表格实现表格分页

项目场景&#xff1a;Thinkphplayui数据表格实现表格分页 提示&#xff1a;thinkphplayui数据表格分页&#xff0c;需要服务器端配合。之前在百度上一通乱搜也没找到解决方案。 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 之前一看layui的文档一只以…

Vue+elementUI实现Table表格分页效果

VueelementUI实现Table表格分页效果 在毕业项目书写时&#xff0c;需要实现分页效果&#xff0c;而查找了大部分资料&#xff0c;大多是静态Table表格的分页&#xff0c;而该项目的数据大多是后台查询后的动态数据&#xff0c;于是我参考了网上的方法&#xff0c;并进行了一系列…

layui 树形表格分页功能

layui目前仅有常规表格分页及树形图&#xff0c;未能有树形图分页功能&#xff0c; 采用另外单独设立分页栏&#xff0c;分页改变时调用方法重载树形树形表格数据。 20230628更 感谢各位的喜欢&#xff0c;因不经常登录&#xff0c;这里贴一下部分代码,以供参考。 后台部分为…

JAVA_树状表格分页(layUI、treeTable.js)

效果图展示(PS:本人很懒&#xff0c;刚开始想在网上随意找一个就用&#xff0c;后来发现好像PHP的不少&#xff0c;JAVA的树状表格大多数跟我开始写的一样没有分页&#xff0c;导致数据量过大后加载过于缓慢被客户吐糟&#xff0c;最后没找到合适的就自己写了一个简单的demo&am…

关于layui表格分页问题

分页时注意 limitName必须与后端接收时的字段名相同 后端接收时需要注意page>0时需要page-1

vue 实现简单表格分页功能

使用框架实现表格展示和跳转功能&#xff0c;一直不懂原理。所以自己写一个简单的&#xff0c;加深理解。 布局分为2块&#xff0c;上面是表格展示数据&#xff0c;下面是点击按钮跳转。 效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en&q…

element 表格分页选中

需求&#xff1a; 分页表格实现分页选中&#xff0c;编辑时可以进行回显。 实现&#xff1a; 刚开始拿到需求后本来是自己写代码实现分页选中&#xff0c;后来查了文档&#xff0c;发现可以根据element-table中的提供的属性实现&#xff1b;如下图方式实现&#xff1b; //el…

前端表格分页功能

前端表格分页功能 我的设想难点实现效果展示&代码 我的设想 1.一次性将所有数据请求到&#xff0c;然后分成很多部分给前端来显示 &#xff08;优点&#xff1a;一次性请求完成&#xff0c;无需再请求&#xff0c;缺点&#xff1a;可能用户并不需要用到全部的数据段&…

表格 + 分页 +表格上编辑

分装分页表格 分页表格的封装代码截图实现的功能分页咋弄的dataPacket是啥看下图表格编辑咋搞的我其实啥都不想写。。图片贴上就完了↑↑↑你这个东西咋用呀效果展示一下吧---好的 分页表格的封装 想要使用表格&#xff0c;可以&#xff01; 有各种各样的插件。。。 想要使用分…

js分页、表格

js分页代码&#xff1a; //js分页 //el:分页容器 count:总记录数 pageStep:每页显示多少个 pageNum:第几页 fnGo:分页跳转函数 var jsPage function(el, count, pageStep, pageNum, fnGo) {this.getLink function(fnGo, index, pageNum, text) {var s <a href"#p i…

使用element-ui实现表格分页

前言 由于项目需要&#xff0c;我使用到了element-ui&#xff0c;当需要使用到表格分页功能的时候&#xff0c;就遇到了一些问题&#xff0c;但通过努力还是解决了&#xff0c;接下来就让我讲一下我对于element-ui中的分页功能的了解&#xff08;因为这次讲的是表格的分页&…

排序算法---快速排序、堆排序、冒泡排序

排序算法 1 快速排序代码实现stdlib库快排 2 堆排序堆排序的基本思想如何构造一个大顶堆排序 3 冒泡排序 1 快速排序 文章原地址&#xff1a;https://blog.csdn.net/morewindows/article/details/6684558 快速排序的平均时间复杂度是0(NlogN)&#xff0c;它采用了一种分治的策…

ARM C语言调用汇编函数 实现冒泡排序

使用冒泡排序将指定数组排序后输出排序函数使用汇编语言编写&#xff0c;C语言调用汇编语言在控制台显示排序前后的结果 一、问题分析二、代码编写2.1 C语言代码2.2 汇编代码 三、ADS调试3.1 运行ADS软件&#xff0c;进入调试界面3.2 汇编函数调试3.3 执行结果 一、问题分析 本…

汇编入门程序,冒泡排序

写了半天发现资料不多&#xff0c;放上来造福一下人类&#xff0c;主要题库的题也好多题解太少 一 用汇编语言编写程序&#xff0c;要求实现以下功能&#xff1a; 程序执行后&#xff0c;屏幕显示提示信息&#xff1a;“Please Enter The Password:”&#xff0c;等待输入用…

汇编语言实现冒泡排序

文章目录 题目简述思路代码总结 题目简述 给定10个数&#xff0c;使用汇编语言&#xff0c;实现10个数的冒泡排序&#xff0c;使之成为升序 思路 本题中&#xff0c;我们需要使用条件转移指令&#xff0c;比较指令&#xff08;CMP&#xff09;&#xff0c;交换指令&#xff…

微机原理实现冒泡排序

微机原理实现冒泡排序 废话不说先放题目 实验目的 1&#xff09; 学会从键盘中读取输入&#xff0c;并将其ASCII码进行转化。 2&#xff09; 利用所学的冒泡排序对数组进行输出 3&#xff09;学会使用中断程序进行字符的输出。 实验所用仪器及使用方法 Windows emu8086仿…

MIPS实现冒泡排序

程序目标 从键盘输入10个无符号字数并从大到小进行排序&#xff0c;排序结果在屏幕上显示出来。 准备工作 编程的入门级知识&#xff1a;循环、冒泡排序、内存和堆栈的概念MIPS语法&#xff1a;程序基本结构汇编语言&#xff1a;不同寄存器作用、数据存储、系统调用编辑器&a…

c语言数组实现冒泡排序

数组实现冒泡排序 什么是冒泡拍排序用数组实现总结 什么是冒泡拍排序 首先&#xff0c;需要了解一下什么是冒泡排序&#xff0c;定义&#xff1a;冒泡排序&#xff08;Bubble Sort&#xff09;也是一种简单直观的排序算法。它重复地走访过要排序的数列&#xff0c;一次比较两个…