返回
Vue + 列表检索 + el-table + el-pagination实战指南
前端
2023-12-17 14:05:57
使用 Vue.js、Element UI 构建响应式的图书列表
构建 Vue.js 项目
首先,使用 Vue CLI 创建一个 Vue.js 项目:
vue create vue-book-list
安装 Element UI
安装 Element UI 组件库:
npm install element-ui -S
并在 main.js
文件中导入和注册 Element UI:
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
创建图书列表组件
创建一个 BookList.vue
文件,作为图书列表组件:
<template>
<el-table :data="books" stripe>
<el-table-column prop="id" label="图书编号"></el-table-column>
<el-table-column prop="title" label="图书名称"></el-table-column>
<el-table-column prop="author" label="作者"></el-table-column>
<el-table-column prop="price" label="价格"></el-table-column>
</el-table>
<el-pagination :current-page="currentPage" :page-size="pageSize" @current-change="handleCurrentPageChange"></el-pagination>
</template>
<script>
export default {
data() {
return {
books: [],
currentPage: 1,
pageSize: 10
}
},
methods: {
handleCurrentPageChange(val) {
this.currentPage = val;
// 这里需要根据当前页码和每页显示数量来获取数据
}
},
mounted() {
// 这里需要从服务器获取图书数据并赋值给this.books
}
}
</script>
在 App.vue 中使用图书列表组件
在 App.vue
文件中,注册并渲染图书列表组件:
<template>
<div id="app">
<book-list></book-list>
</div>
</template>
<script>
import BookList from './components/BookList.vue';
export default {
components: {
BookList
}
}
</script>
运行项目
运行以下命令运行项目:
npm run serve
访问 http://localhost:8080
查看图书列表页面。
注意要点
- 数据绑定: 利用 Vue.js 的响应式特性,轻松将数据与组件绑定。
- 组件化: 将图书列表封装成一个独立组件,便于复用和维护。
- 分页: 使用
el-pagination
组件实现分页,控制每页显示数量和当前页码。 - 列表检索: 添加搜索功能,允许用户通过关键词检索图书。
- UI 交互: 使用 Element UI 组件美化 UI 并增强交互。
结论
本文详细介绍了如何使用 Vue.js、Element UI 构建图书列表,包括列表检索、数据表格、分页等功能。掌握这些技术,可以创建交互式且动态的前端应用程序。
常见问题解答
- 如何从服务器获取图书数据?
在mounted()
生命周期钩子中,使用异步请求从服务器获取数据并将其赋值给this.books
。 - 如何实现列表检索?
在BookList.vue
组件中添加一个输入框,并监听其input
事件,根据输入内容过滤this.books
数据。 - 如何自定义分页大小?
在BookList.vue
组件中,设置pageSize
属性为所需的每页显示数量。 - 如何美化 UI?
使用 Element UI 提供的各种组件,如按钮、图标和进度条,自定义图书列表的视觉效果。 - 如何部署项目?
使用npm run build
构建项目,然后将其部署到 Web 服务器,如 Nginx 或 Apache。