Vue 的动态菜单表格数据展示以及分页查询实现

Vue 的动态菜单表格数据展示以及分页查询实现_第1张图片

前言:

在上一篇博客中实现了左侧菜单栏,今天我就来实现与后台的交互即动态的展示数据库的数据,还有数据表格的实现以及分页。

一,导航菜单交互后台

要确定静态树形菜单的排版 再通过后台获取树形节点的数据  通过拿到的数据,渲染树形节点 v-for 渲染节点  定义渲染节点的变量

ElementUI官网:

Element - The world's most popular Vue UI frameworkicon-default.png?t=N7T8https://element.eleme.cn/#/zh-CN/component/paginationVue 的动态菜单表格数据展示以及分页查询实现_第2张图片

 LeftNav.vue:



关于default-active="$route.path"介绍

在Vue中,default-active是一个用于设置导航栏默认激活项的属性。它的值可以通过$route.path来动态获取当前路由的路径。

通常,在使用Vue的路由器(Vue Router)时,可以通过设置default-active来根据当前路由来设置导航栏的默认激活项。

具体用法如下:

  1. 首先,确保已经安装并配置了Vue Router。

  2. 在导航栏组件中,找到对应的菜单项,并使用v-bind指令绑定default-active属性,例如:

主页

以上代码中的default-active属性使用了$route.path === '/home’表达式来判断当前路由是否是主页,如果是则会给该菜单项添加一个默认激活的样式。

  1. 当路由切换时,default-active会根据$route.path的变化自动更新,确保当前路由所对应的菜单项保持激活状态。

总结起来,default-active="$route.path"的含义是将导航栏的默认激活项与当前路由的路径进行绑定,实现动态设置导航栏的激活状态。这样可以根据当前路由的变化,自动更新导航栏的样式,提升用户体验

Vue 的动态菜单表格数据展示以及分页查询实现_第3张图片

定义组件的和路由的关系

index.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import AppMain from '@/components/AppMain'
import LeftNav from '@/components/LeftNav'
import TopNav from '@/components/TopNav'
// 导入Login登录组件
import Login from '@/views/Login'
// 导入Login登录组件
import Register from '@/views/Register'

import AddBook from '@/views/book/AddBook'
import BookList from '@/views/book/BookList'


Vue.use(Router)

export default new Router({
	routes: [{
			path: '/',
			name: 'Login',
			component: Login
		},
		{
			path: '/Register',
			name: 'Register',
			component: Register
		},
		{
			path: '/HelloWorld',
			name: 'HelloWorld',
			component: HelloWorld
		},
		{
			path: '/AppMain',
			name: 'AppMain',
			component: AppMain,
			children:[{
				path: '/TopNav',
				name: 'TopNav',
				component: TopNav
			}, {
				path: '/LeftNav',
				name: 'LeftNav',
				component: LeftNav
			},
			{
				path: '/book/AddBook',
				name: 'AddBook',
				component: AddBook
			}, {
				path: '/book/BookList',
				name: 'BookList',
				component: BookList
			}]
		}

	]
})

action.js

/**
 * 对后台请求的地址的封装,URL格式如下:
 * 模块名_实体名_操作
 */
export default {
	'SERVER': 'http://localhost:8080', //服务器
	'SYSTEM_USER_DOLOGIN': '/user/userLogin', //登陆
	'SYSTEM_USER_DOREG': '/user/Register', //注册
	'SYSTEM_MENUS': '/module/queryRootNode', //左侧菜单树
	'BOOK_LIST': '/book/queryBookPager', //书籍列表
	'getFullPath': k => { //获得请求的完整地址,用于mockjs测试时使用
		return this.SERVER + this[k];
	}
}

二,数据表格

BookList.vue





效果展示:

你可能感兴趣的:(vue.js,elementui)